初识 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' %} 加载静态文件,确保配置了静态文件处理器。
相关推荐
Amo Xiang43 分钟前
《100天精通Python——基础篇 2025 第18天:正则表达式入门实战,解锁字符串处理的魔法力量》
python·正则表达式·re
敲键盘的小夜猫2 小时前
Python核心数据类型全解析:字符串、列表、元组、字典与集合
开发语言·python
apcipot_rain3 小时前
【应用密码学】实验五 公钥密码2——ECC
前端·数据库·python
小彭律师3 小时前
门禁人脸识别系统详细技术文档
笔记·python
鸿业远图科技4 小时前
分式注记种表达方式arcgis
python·arcgis
别让别人觉得你做不到5 小时前
Python(1) 做一个随机数的游戏
python
辛一一5 小时前
neo4j图数据库基本概念和向量使用
数据库·neo4j
小彭律师6 小时前
人脸识别门禁系统技术文档
python
巨龙之路6 小时前
什么是时序数据库?
数据库·时序数据库
蔡蓝6 小时前
binlog日志以及MySQL的数据同步
数据库·mysql