第九章 Auth认证系统 Django除了有强大的Admin管理系统之外,还提供了完善的用户管理系统.整个用户管理系统可分为三大部分:用户信息.用户权限和用户组,在数据库中分别对应数据表auth_user.auth_permission和auth_group. 9.1 内置User实现用户管理 用户管理功能已经是一个网站必备的功能之一,而Django内置了强大的用户管理系统,并且具有灵活的扩展性,可以满足多方面的开发需求.在创建Django项目时,Django已默认使用内置用户管理系统,在set…
9.4 设置用户权限 用户权限主要是对不同的用户设置不同的功能使用权限,而每个功能主要以模型来划分.以9.3节的MyDjango项目为例,在Admin后台管理系统可以查看并设置用户权限,如下图: 用户权限设置 上图左边列表框中列出了整个项目的用户权限,以user|用户|Can add user为例: 1.user代表项目的App. 2.用户代表App所定义的模型MyUser. 3.Can add user代表该权限可对模型MyUser执行新增操作. 一般情况下,在执行数据迁移时,每个模型默认拥有…
第13章 第三方功能应用 在前面的章节中,我们主要讲述Django框架的内置功能以及使用方法,而本章主要讲述Django的第三方功能应用以及使用方法.通过本章的学习,读者能够在网站开发过程中快速开发网站API.生成网站验证码.实现搜索引擎.实现第三方用户注册和分布式任务. 13.1 快速开发网站API 网站API也成为接口,接口其实与网站的URL地址是同一个原理.当用户使用GET或者POST方式访问接口时,接口以JSON或字符串的数据内容返回给用户,这与网站的URL地址返回的数据格式有所不同,网…
11.5 歌曲排行榜 歌曲排行榜是通过首页的导航链接进入的,按照歌曲的播放次数进行降序显示.从排行榜页面的设计图可以看到,网页实现三个功能:网页顶部搜索.歌曲分类筛选和歌曲信息列表,其说明如下: 1.网页顶部搜索:每个网页都具备基本功能,而且每个网页的实现方式和原理是相同的. 2.歌曲分类筛选:根据歌曲信息表song的song_type字段对歌曲进行筛选,并显示在网页左侧的歌曲分类中. 3.歌曲信息列表:在网页上显示播放次数排在前10条的歌曲信息. 歌曲排行榜是由项目music的项目应用rank…
第八章 admin后台系统 admin后台系统也成为网站后台管理系统,主要用于对网站前台的信息进行管理,如文字.图片.影音和其他日常使用文件的发布.更新.删除等操作,也包括功能信息的统计和管理,如用户信息.订单信息和访客信息等.简单来说,即使对网站数据库和文件的快速操作和管理系统,以使网页内容能够及时得到更新和调整. 8.1 走进admin 在INSTALLED_APPS中已配置了Django的Admin后台系统,如果网站不需要Admin系统,可以将配置信息删除,这样可以减少程序对系统资源的占用…
1,建站步骤:1)django-admin.exe startproject mysite 创建完后的目录结构: - mysite # 对整个程序进行配置 - init - settings # 配置文件 - url # URL对应关系 - wsgi # 遵循wsgi规范,处理soceket的规范,一般用uwsgi - manage.py # 管理django程序,例如runserver,startapp,makemigration,migrate 备注:如果不是pycharmproject根目…
第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的所有请求并统一管理.静态请求由Nginx自己处理:非静态请求通过uWSGI服务器传递给Django应用,由Django进行处理并做出相应,从而完成一次Web请求.本章以Nginx+uWSGI+Django为例讲述如何在linux系统上部署Django应用. 12.1 按照python3 Centos…
10.3 CSRF防护 CSRF(跨站请求伪造)也成为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用,窃取网站的用户信息来制作恶意请求. Django为了防护这类攻击,在用户提交表单时,表单会自动加入csrftoken的隐含值,这个隐含值会与网站后台保存的csrftoken进行匹配,只有匹配成功,网站才会处理表单数据.这种防护机制称为CSRF防护,原理如下: 1.在用户访问网站时,Django在网页的表单中生成一个隐含字段…
第十章 常用的Web应用程序 Django为开发者提供了常见的Web应用程序,如会话控制.高速缓存.CSRF防护.消息提示和分页功能.内置的Web应用程序大大优化了网站性能,并且完善了安全防护机制,而且也提高了开发者的开发效率. 10.1 会话控制 Django内置的会话控制简称为Session,可为访问者提供基础的数据存储.数据主要存储在服务器上,并且网站的任意站点都能使用会话数据.当用户第一次访问网站时,网站的服务器将自动创建一个Session对象,该Session对象相当于该用户在网站的一…
第六章 模型与数据库 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite和Oracle,而且为这些数据库提供了统一的调用API,这些API统称为ORM框架.通过使用Django内置的ORM框架可以实现数据库连接和读写操作. 6.1 构建模型 ORM框架是一种程序技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换.从效果上说,其实是创建了一个可在编程语言中使用的"虚拟对象数据库",通过对虚拟对象数据库操作从而实现对目标数控的操作,虚拟…