概述
视图方法,简称视图,它可以接收一个Web request对象并向客户端返回一个Web response对象。response可以是任何对象,如HTML文档、重定向、404异常、XML文档甚至一张图片。在视图方法中可以进行任意的业务逻辑处理,例如查询数据库操作等。
响应类型
响应过程
Url配置
指定根级url配置文件
在settings.py文件 的ROOT_URLCONF
ROOT_URLCONF = 'project.urls'
注:默认已经配置
urlpatterns
一个url实例的列表
匹配正则注意事项
如果想要从url中获取一个值,需要对正则加<>
匹配正则前方不需要加反斜杠
正则前需要加r表示字符串不转义
引入其他url配置
在应用中创建urls.py文件,定义本应用的url配置
from django.urls import path
# 引用当前应用视图
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在根urls.py文件中使用include()方法
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# 增加路由 指向myapp urls
path('', include('myapp.urls'))
]
Url的反向解析
概述:如果在视图、模板中使用了硬编码链接,在url配置发生改变时,动态生成链接地址
解决:在使用链接时,通过url配置的名称,动态生成url地址
作用:使用url模板的时候,可以通过参数name为url地址的路径部分起一个别名,项目中就可以通过别名来获取这个路径。以后无论路径如何变化别名与路径始终保持一致。
设置视图和url
Url
urlpatterns = [
path('', views.index, name='index'),
path('<int:num>', views.detail, name='detail'),
path('grades', views.grades, name='grades'),
path('students', views.students, name='students'),
]
视图
def grades(request):
""" 班级列表 """
return HttpResponse('班级这是列表')
def students(request):
""" 学生列表 """
return HttpResponse('这是学生列表')
访问班级列表
访问学生列表
反向解析演示
1.修改学生列表路由正则
path('students222', views.students, name='students'),
2.在班级列表中设置跳转学生列表
from django.shortcuts import redirect
def grades(request):
""" 班级列表 """
return redirect('students')
3.跳转效果
视图中访问学生列表别名,访问到了变化后的学生列表路由。
总结
本文在视图概述的基础上,展示了响应类型和过程的图示;
并就URL配置介绍后演示了URL反向解析设置和效果。