MVC
全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。
MTV
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
建立django项目命令
django-admin startproject mydj01
建立应用app命令
python manage.py startapp app01
运行项目的命令
python3 manage.py runserver 0.0.0.0:8000
网络访问流程
一个 HTTP 请求,首先被转化成一个 HttpRequest 对象,然后该对象被传递给 Request 中间件处理,如果该中间件返回了Response,则直接传递给 Response 中间件做收尾处理。否则的话 Request 中间件将访问 URL 配置,确定哪个 view 来处理,在确定了哪个 view 要执行,但是还没有执行该 view 的时候,系统会把 request 传递给 View 中间件处理器进行处理,如果该中间件返回了Response,那么该 Response 直接被传递给 Response 中间件进行后续处理,否则将执行确定的 View 函数处理并返回 Response,在这个过程中如果引发了异常并抛出,会被 Exception 中间件处理器进行处理。
返回值的三种方法:
from django.shortcuts import HttpResponse, render, redirect
HttpResponse:内部传入一个字符串参数,返回给浏览器。
def index(request):
return HttpResponse("OK")
render
将数据填充进模板文件,最后把结果返回给浏览器。
def index(request):
return render(request, "index.html", {"name": "root", "hobby": ["发呆", "打游戏"]})
redirect
接受一个URL参数,表示跳转到指定的URL。
def index(request):
return redirect("/home/")