Django

Django

The web framework for perfectionists with deadlines | Django

Django 教程 | 菜鸟教程

虚拟环境

创建虚拟环境
python -m venv 环境名

激活虚拟环境
环境名\Scripts\activate

停用虚拟环境
deactivate

安装Django

更新pip(在虚拟环境中)
pip install –update pip

查看pip版本
pip -V

使用pip安装Django(在虚拟环境中)
pip install django

进入python环境
python

在python环境下查看Django版本号
import django
django.get_version()

退出python环境(三种方法)
exit() + 回车
quit() + 回车
Ctrl + Z + 回车

使用Django

在Django中创建项目
django-admin startproject 项目名 .

迁移数据库/修改数据库
python manage.py migrate
第一次执行会创建数据库

启动服务器(要在manage.py所在路径使用)
python manage.py runserver

停用服务器
Ctrl + C

创建应用程序
python manage.py startapp 应用程序名

创建迁移文件/确定如何修改数据库
python manage.py makemigrations 应用程序名

Django shell
python manage.py shell

退出 shell
Ctrl + Z + 回车

安装django-bootstrap5
pip install django-bootstrap5

超级用户

创建超级用户
python manage.py createsuperuser

要点

修改项目数据三部曲
修改models.py
调用makemigrations创建迁移
调用migrate执行迁移

创建模型步骤
创建模型models.py
调用makemigrations创建迁移
调用migrate执行迁移
注册模型admin.py

在应用程序中添加一个新主题需要以下操作
修改form.py,添加主题的表单
修改urls.py,添加子链接
修改views.py
创建新模板
链接到指定页面

在应用程序中添加一个新条目需要以下操作
修改form.py,添加一个新的类
修改urls.py,添加子链接
修改views.py

小记

Django使用MTV模型(https://www.runoob.com/django/django-intro.html)
M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
T 表示模板 (Template):负责如何把页面(html)展示给用户。
V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。

解析:
用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:
a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。
视图函数把返回的数据填充到模板中空格,最后返回网页给用户。

在应用程序文件夹新建urls.py文件,继承项目文件夹中的urls.py

a.不涉及到数据调用
①根据用户的请求链接去urls.py中匹配对应的views.py中的视图函数
②视图函数根据其render函数中的参数去模板template文件夹中查找相应的html文件并返回网页给用户

Django 规定,如果要使用模型,必须要创建一个app应用程序。

b.涉及到数据调用
①根据用户的请求链接去urls.py中匹配对应的views.py中的视图函数
②视图函数调用models.py中对应的模型
③模型取数据库查找数据,逐级返回
④视图函数把返回的数据填充到模板template中对应html文件中的变量位置,最后返回网页给用户。

创建基于表单的页面的方法几乎与前面创建网页一样:定义一个URL,编写一个视图函数并编写一个模板。一个主要差别是,需要导入包含表单的模块forms.py。

在Django中,创建表单的最简单方式是使用ModelForm,它根据我们之前在models.py中定义的模型中的信息自动创建表单。

c.处理表单数据
①根据用户的请求链接去urls.py中匹配对应的views.py中的视图函数
②新建表单数据:视图函数显示空表单,提交的表单数据进行处理,并将用户重定向到其他网页
③修改表单数据:视图函数根据其render函数查找相应html文件显示原有表单,提交的表单数据进行处理,并将用户重定向到其他网页

杂记

PythonAnyWhere免费部署python类网站 - CSDN博客
Django项目部署到pythonanywhere及需要注意的问题 - CSDN博客


Django
http://example.com/2023/12/04/Python-Django/
许可协议