初识 Django

声明

适用于想要快速入门的开发者,有前后端开发以及语言基础,想要学习语法或者特性。

想要学会快速开发,快速入门,请看博客【实用向】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
模板继承 使用 {% extends "base.html" %} 声明模板继承关系,通过 {% block %} 定义和填充块内容。
静态文件 使用 {% static 'path/to/file.css' %} 加载静态文件,确保配置了静态文件处理器。
相关推荐
汤姆yu28 分钟前
基于python大数据的小说数据可视化及预测系统
大数据·python·信息可视化
x***J34832 分钟前
Python多线程爬虫
开发语言·爬虫·python
m***D28639 分钟前
Python网络爬虫实战案例
开发语言·爬虫·python
ID_180079054731 小时前
基于 Python 的淘宝商品详情数据结构化解析:SKU、价格与库存字段提取
开发语言·数据结构·python
Laughtin1 小时前
终端Python环境的选择与切换
开发语言·python
JHC0000002 小时前
Python PDF 相关操作
开发语言·python·pdf
databook2 小时前
Manim进阶:用背景图片让你的数学视频脱颖而出
python·动效
q***9942 小时前
Redis的Spring配置
数据库·redis·spring
温轻舟2 小时前
Python自动办公工具01-Excel文件编辑器
开发语言·python·编辑器·excel·温轻舟
S***y3962 小时前
MySQL视频
数据库·mysql