通过之前学习的内容先创建一个项目webtest以及book应用进行下面说明。
视图是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。使用视图,主要在定义视图、配置URL两方面进行操作。
1.使用视图的过程(1)定义视图
首先,在webtest/book/views.py文件中定义一个视图函数;
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request,"book/index.html")
接着在templates/book文件夹中创建一个index.html页面;
Title
Django之视图
(2)配置URL
接下来配置URL,在主路由进行配置进入分路由,将视图函数和url对应起来;
# webtest/urls.py
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^book/', include("book.urls")),
]
在book目录下创建urls.py文件并编写如下代码:
from django.conf.urls import url
from .views import *
urlpatterns = [
url(r"^index",index),
]
效果如下:
2.获取值--URL传参
获取值需要在正则表达式中使用小括号表示,分别有以下两种方式完成,注意两种方式不能混合使用,一个正则表达式中只能使用一种参数方式;
先打开book/urls.py文件添加如下代码,定义url;
url(r"^show$",show),
在book/views.py中创建视图函数show();
def show(request):
return HttpResponse("/book/show")
(1)位置参数
为了提取参数值,先修改上述的正则表达式;
url(r"^show(d+)$",show),
并且修改视图函数show();
def show(request,id):
return HttpResponse("show 参数值:%s"%id)
完成上述操作后,效果如下:(地址栏中的参数值可以任意选择,再次刷新页面呈现的效果不同)
(2)关键字参数
这里的正则表达式部分修改为组命名;
url(r"^show(?Pd+)$",show),
修改视图show()函数,注意必须要有参数名为bid;
def show(request,bid):
return HttpResponse("显示关键字参数值:%s"%bid)
效果如下:
3.错误视图
下面编写两个错误视图,404视图、500视图进行说明,来掌握这一知识点。
(1)404错误
首先,我们需要将settings.py文件中的DEBUG变量进行修改,将True改成False,这里还需 要对ALLOWED_HOSTS进行修改,允许所有错误URL能报错404;
DEBUG = False ALLOWED_HOSTS = ['*']
到这里,我们所要的效果便出来了,若是输入错误URL会直接显示Django提供的默认404页 面,我们也可以自己创建一个404页面,但是文件命名必须是404.html;
在templates文件下创建404.html;
404错误页面
404 错误页面显示
错误地址:{{request_path}}
效果如下:
(2)500错误
500错误页面也是Django框架有默认提供的页面,这里也可以自己编写,如404错误所示;
# 500错误页面
500错误页面
服务器端错误:500



