文章目录
- 一、Django框架介绍
- 二、后台管理
- 第一步:项目的创建与运行
- 第二步:应用的创建和使用
- 第三步: 项目的数据库模型
- 第四步: 启用后台Admin站点管理
- 三、前台管理
- 第一步: URLconf 路由管理
- 第二步: 视图函数处理业务逻辑
- 第三步: 模板管理实现好看的HTML页面(可参考菜鸟教程)
- 四、Django请求的生命周期
一、Django框架介绍
什么是框架?
- 软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品,
- 框架的功能类似于基础设施 ,提供并实现最为基础的软件架构和体系
- 通常情况下我们依据框架来实现更为复杂的业务程序开发
- 二个字,框架就是程序的骨架
Python 中常见的框架有哪些?
- 大包大揽 Django 被官方称之为完美主义者的Web框架。
- 力求精简 web.py 和 Tornado
- 新生代微框架 Flask 和 Bottle
Django 框架介绍
- Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。
- 由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而
无需重新创建轮子。- 免费的和开源的。
- 被官方称之为完美主义者的Web框架。
Django 的安装
在线安装Django,指定版本安装:pip install django==2.2
二、后台管理
第一步:项目的创建与运行
第二步:应用的创建和使用
(1) 创建第一个应用程序
在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
创建应用的命令:
python manage.py startapp bookApp
(2) 编写第一个视图函数
(3) 路由规则
要在 bookApp 目录中创建一个 URLconf ,创建一个名为 urls.py
根据配置文件 BookManage/settings 可知路由查找的主文件是 BookManage/urls.py , 因此在该文件
添加一条 url 规则
(4) 效果展示
启动服务器:python manage.py runserver
url() 函数介绍
Django url() 可以接收四个参数,分别是两个必选参数: regex 、 view 和两个可选参数:
kwargs 、 name 。
- regex : 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
- view : 用于执行与正则表达式匹配的 URL 请求。
- kwargs : 视图使用的字典类型的参数。
- name : 用来反向获取 URL。
第三步: 项目的数据库模型
创建数据库模型
本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书、英雄
(1)图书表结构设计: 表名: Book
图书名称: title
图书发布时间: pub_date
(2)英雄表结构设计: 表名: Hero
英雄姓名: name
英雄性别: gender
英雄简介: hcontent
所属图书: hbook
数据库模型基本操作
第四步: 启用后台Admin站点管理
- 站点分为“内容发布(后台管理)”和“公共访问(前台管理)”两部分
- “内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力
的工作。- 因此, Django 会根据定义的模型类完全自动地生成管理模块
Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个
Web平台。
默认情况下,在 settings.py 配置文件中 INSTALLED_APPS 包含以下应用程序,为了后续的开发,默
认这些应用程序都是包含在里面的。
(1). 数据库迁移
使用这些 Django 自带的应用程序,需要我们在数据库中创建一些数据表对应,然后才能使用它们。
python manage.py makemigrations
python manage.py migrate
(2). 创建管理员用户
/// 按提示输入用户名、邮箱、密码
python manage.py createsuperuser
启动服务器,通过 “127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成登录
进入管理站点,默认可以对 groups、users 进行管理
(3). 管理界面本地化
(4). 自定义模型加入后台管理
打开 bookApp/admin.py 文件,注册模型
from django.contrib import admin
from models import Book
admin.site.register(Book)
(5). 自定义管理页面
Django 提供了 admin.ModelAdmin 类
通过定义 ModelAdmin 的子类,来定义模型在 Admin 界面的显示方式
列表页属性性:
添加、修改页属性
关联对象
布尔值的显示
三、前台管理
第一步: URLconf 路由管理
在 Django 中,定义 URLconf 包括正则表达式、视图两部分 。
Django 使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 。
注意:只匹配路径部分,即除去域名、参数后的字符串 。
在主配置文件中添加子配置文件,使主 urlconf 配置连接到子模块的 urlconf 配置文件 。
第二步: 视图函数处理业务逻辑
在 Django 中,视图对WEB请求进行回应( response )。
视图接收 reqeust 请求对象作为第一个参数,包含了请求的信息 。
视图函数就是一个Python函数,被定义在 views.py 中 。
定义完成视图后,需要配置 urlconf ,否则无法处理请求。
第三步: 模板管理实现好看的HTML页面(可参考菜鸟教程)
(1) 模板引擎配置
修改 BookManage/settings.py 文件,设置 TEMPLATES 的 DIRS 值(参考下图)
(2) 模板语法: 变量
(3) 模板语法: 常用标签
(4) 主页与详情页前端HTML设计
标题标签(除列举外,可参考菜鸟教程学习)
列表标签
图片标签
链接标签
表格标签
表单标签
四、Django请求的生命周期
- wsgi : 封装请求后交给后端的web框架( Flask、Django )。
- 请求中间件: 对请求进行校验或在请求对象中添加其他相关数据,例如: csrf、request.session 。
- 路由匹配: 根据浏览器发送的不同 url 去匹配不同的视图函数。
- 视图函数: 在视图函数中进行业务逻辑的处理,可能涉及到: ORM、Templates 。
- 响应中间件: 对响应的数据进行处理。
- wsgi : 将响应的内容发送给浏览器。