Django中的请求首先到达 urls.py ,然后转到 views.py 中的匹配函数。 views.py 中的Python函数从 urls.py 获取网络请求,并向模板(templates)提供响应。 它可能会根据 queryset 进入 models.py 中的数据访问层。
如果无涯教程看一下应用程序的3层架构。视图就像业务逻辑层。 它是典型的 MVC (模型视图控制器)设计中的控制器 但是django的命名约定略有不同,称为 MVT (模型视图模板),其中: Model 是数据访问层, View 是业务逻辑层, Template是表示层。
Django默认情况下在项目下有一个 urls.py 文件。它还为 admin 应用提供了一个预定义的路径。 但是,django建议通过该应用程序下新创建的另一个 urls.py 映射所有资源。下面解释了它:
mysite-urls.py
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), ]
myapp-urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index), # app homepage ]
Url映射会将请求从项目网址重定向到应用程序网址,然后再重定向到相应的视图函数。 示例视图函数代码可能如下所示:
def index(request): return render(request, 'index.html', {}) or, from django.http import HttpResponse def index(request): return HttpResponse("Hello World")
在这里, request 是url请求映射和调用view函数。 render将给定的模板与给定的上下文字典结合在一起。 {} 表示可以添加到模板上下文的值的字典。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)