声明
适用于想要快速入门的开发者,有前后端开发以及语言基础,想要学习语法或者特性。
想要学会快速开发,快速入门,请看博客【实用向】Django 框架入门并结合本篇文章。
命令
命令 | 描述 |
---|---|
startproject | 创建一个 Django 项目 |
startapp | 创建一个 Django 应用 |
check | 校验项目完整性 |
runserver | 本地简易运行 Django 项目 |
shell | 进入 Django 项目的 PythonShell 环境 |
test | 执行 Django 用例测试 |
数据库命令 | 描述 |
---|---|
makemigrations | 创建模型变更的迁移文件 |
migrate | 执行上一个命令创建的迁移文件 |
dumpdata | 把数据库数据导出到文件 |
loaddata | 把文件数据导入到数据库 |
目录
文件名称 | 描述 |
---|---|
settings.py | 项目配置文件 |
urls.py | 项目路由配置文件 |
manage.py | 项目管理文件 |
项目和应用
Django 项目
- 定义:一个 Django 项目是基于 Django 框架构建的 Web 应用。
- 组成:项目包含一组配置和若干个 Django 应用。
Django 应用
- 定义:一个 Django 应用是一个可重用的 Python 软件包。
- 功能:每个应用可以独立管理以下组件:
- 模型(Models):定义数据结构。
- 视图(Views):处理用户请求和响应。
- 模板(Templates):设计页面布局和展示。
- 路由(URLs):定义 URL 到视图的映射。
- 静态文件(Static Files):存储 CSS、JavaScript 和图片等静态资源。
Django 应用目录介绍
文件名 | 用途描述 |
---|---|
views.py | 视图处理的地方,负责处理用户请求和响应。 |
models.py | 定义应用模型的地方,用于定义数据结构。 |
admin.py | 定义 Admin 模块管理对象的地方,用于后台管理。 |
apps.py | 声明应用的地方,用于配置应用级别的设置。 |
tests.py | 编写应用测试用例的地方,用于测试应用功能。 |
urls.py | (自行创建)管理应用路由的地方,用于定义 URL 到视图的映射。 |
模型层
模型层位于 Django 视图层和数据库之间用于 Python 对象和数据库表之间转换
为什么需要模型层
- 屏蔽不同数据库之间的差异
- 开发者更加专注于业务逻辑的开发
- 提供很多便捷工具有助开发
模型字段
类型名称 | 数据类型 | 描述 |
---|---|---|
数字类型 | IntegerField | 用于存储整数。 |
文本类型 | TextField | 用于存储大量文本。 |
短文本类型 | CharField | 存储短文本需要设置 max_length |
日期类型 | DateTimeField | 用于存储日期和时间。 |
自增 ID | AutoField | 自动递增的字段,常用于主键。 |
主键定义 | primary_key 属性 | 定义模型中的字段作为主键。 |
初识 Django Shell
PythonShell,用于交互式的 Python 编程。DjangoShell 也类似,继承 Django 项目环境
为什么需要 DjangoShell
- 临时性操作使用 DjangoShell 更加方便
- 小范围 Debug 更简单,不需要运行整个项目来测试
- 方便开发、方便调试、方便 Debug
初识 Django Admin
Django 的后台管理工具
读取定义的模型元数据,提供强大的管理使用页面
为什么需要 DjangoAdmin 模块
- DjangoShell 新增文章太复杂了
- 管理页面是基础设施中重要的部分
- 认证用户、显示管理模型、校验输入等功能类似
初识 Bootstrap
来自美国 Twitter 的前端框架
提供非常多的控件并附带源码
栅格系统把页面均分为十二等份
初识 模板系统
基本语法
类型 | 示例和用法 |
---|---|
变量 | 使用双花括号 {{ }} 输出变量值,如 {{ variable }} 。 |
标签 | 使用单花括号和百分号 {% %} 实现控制流和逻辑,如 {% for item in list %} … {% endfor %} 和 {% if condition %} … {% endif %} 。 |
注释 | 使用 {# #} 进行注释,如 {# this is a comment #} 。 |
过滤器 | 在变量输出中使用过滤器修改显示内容,例如 {{ variable|filter }} |
模板继承 | 使用 {% extends "base.html" %} 声明模板继承关系,通过 {% block %} 定义和填充块内容。 |
静态文件 | 使用 {% static 'path/to/file.css' %} 加载静态文件,确保配置了静态文件处理器。 |