一,视图
视图就是python中的函数,视图一般被定义在"应用/views.py"文件中,此例中为"booktest/views.py"文件。视图必须返回一个HttpResponse对象或子对象作为响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误等。

视图的第一个参数必须为HttpRequest实例,还可能包含下参数如:

通过正则表达式组获得的关键字参数。
通过正则表达式组获取的位置参数。

在django中,通过浏览器去请求一个界面时,使用​​视图函数​​​来处理这个请求,请求函数处理完成后,要给浏览器返回界面内容
二,定义视图函数
首先需要定义视图函数
在程序的​​​views.py​​文件下编辑视图函数

from django.shortcuts import render
from diango.http import HttpResponse
# Create your views here.
#http://127.0.0.1:8000/index
#一个地址定义一个处理函数
def index (request):
#进行处理,和M,T进行交互
return HttpResponse('测试')

三,配置访问url绑定

在应用目录下新建一个​​urls.py​​文件

django学习笔记006-MVT中的V(视图)的使用及配置_python

可以发现项目中也有一个urls文件,需要在项目urls文件里面进行配置,使其包含booktest程序的urls

django学习笔记006-MVT中的V(视图)的使用及配置_python_02


在项目urls中添加如下内容:

urlpatterns = [
url('正则表达式', 匹配的内容),
]
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^',include('booktest.urls')),#包含booktest的urls
]

更改应用的urls内容:

#引入url
from django.conf.urls import url
#引入视图类
from booktest import views
urlpatterns=[
#通过url函数设置url路由配置项
url(r'^index',views.index), #引入url/index和视图index之间的关系
]

django学习笔记006-MVT中的V(视图)的使用及配置_正则表达式_03

这时候打开链接​​http://127.0.0.1:8000/index​

django学习笔记006-MVT中的V(视图)的使用及配置_python_04

即可成功查看到view中返回的内容

django学习笔记006-MVT中的V(视图)的使用及配置_django_05

这里的原理就是,当django收到浏览器的http请求后,将url先与项目的urls从上到下进行正则匹配

django学习笔记006-MVT中的V(视图)的使用及配置_django_06


如admin界面先与第一条匹配成功​​url(r'^admin/', include(admin.site.urls))​

第二条为:​​url(r'^',include('booktest.urls')),​​匹配所有的urls,匹配对象为booltest应用下的urls

再来看booktest的urls:

django学习笔记006-MVT中的V(视图)的使用及配置_django_07

当输入127.0.0.1/index 首先在项目的urls进行匹配,匹配跳转到应用urls,​​url(r'^index',views.index),​​在这里匹配成功,并调用视图的index函数。

注意

这里的正则表达式为不严格匹配,即127.0.0.1/ 斜杠后面的内容,在本例中只要出现index就会匹配成功,当我们要添加一个index2

界面时都会匹配到第一个界面,所以我们要进行严格匹配开头和结尾,

url(r'^index$',views.index),#严格匹配