初识 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' %} 加载静态文件,确保配置了静态文件处理器。
相关推荐
笨鸟先飞,勤能补拙4 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
天桥下的卖艺者4 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
隔窗听雨眠4 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
长和信泰光伏储能5 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
数据库小学妹5 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
浦信仿真大讲堂5 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study5 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
神龙天舞20016 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
卷无止境6 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境6 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python