一,视图
视图就是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
文件
可以发现项目中也有一个urls文件,需要在项目urls文件里面进行配置,使其包含booktest程序的urls
在项目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之间的关系
]
这时候打开链接
http://127.0.0.1:8000/index
即可成功查看到view中返回的内容
这里的原理就是,当django收到浏览器的http请求后,将url先与项目的urls从上到下进行正则匹配
如admin界面先与第一条匹配成功url(r'^admin/', include(admin.site.urls))
第二条为:url(r'^',include('booktest.urls')),
匹配所有的urls,匹配对象为booltest应用下的urls
再来看booktest的urls:
当输入127.0.0.1/index 首先在项目的urls进行匹配,匹配跳转到应用urls,
url(r'^index',views.index),
在这里匹配成功,并调用视图的index函数。
注意
这里的正则表达式为不严格匹配,即127.0.0.1/ 斜杠后面的内容,在本例中只要出现index就会匹配成功,当我们要添加一个index2
界面时都会匹配到第一个界面,所以我们要进行严格匹配开头和结尾,
url(r'^index$',views.index),#严格匹配