Django
Django
The web framework for perfectionists with deadlines | 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博客