视图介绍和项目准备
视图介绍
- 视图就是
应用中views.py文件中的函数 - 视图的第一个参数必须为
HttpRequest对象,还可能包含下参数如- 通过正则表达式组获取的位置参数
- 通过正则表达式组获得的关键字参数
- 视图必须返回一个
HttpResponse对象或子对象作为响应- 子对象:
JsonResponseHttpResponseRedirect
- 子对象:
- 视图负责接受Web请求
HttpRequest,进行逻辑处理,返回Web响应HttpResponse给请求者- 响应内容可以是
HTML内容,404错误,重定向,json数据...
- 响应内容可以是
视图处理过程如下图:

使用视图时需要进行两步操作,两步操作不分先后
- 配置
URLconf- 在
应用/views.py中定义视图
项目准备
创建项目+创建应用+安装应用+配置模板路径+本地化+mysql数据库+URLconf+视图
mysql数据库使用之前的
BookdbDATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'Bookdb', # 数据库名称 'HOST': 'localhost', # 数据库主机(建议使用主机真实IP) 'PORT': '3306', # 数据库端口 'USER': 'root', # 数据库用户名 'PASSWORD': 'mysql', # 数据库密码 } }URLconf
settings.py中:指定url配置ROOT_URLCONF = 'BookManager.urls'项目中
urls.py:只要不是admin/就匹配成功,包含到应用中的urls.pyurlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 只要不是‘admin/’就匹配成功,包含到应用中的urls.py url(r'^', include('Book.urls')), ]应用中
urls.py:匹配testproject/成功就调用views中的testproject函数,测试项目逻辑from django.conf.urls import url import views urlpatterns = [ # 匹配`testproject/`成功就调用`views`中的`testproject`函数 url(r'^testproject/$', views.testproject), ]视图:测试项目逻辑
from django.http import HttpResponse # 测试项目逻辑 def testproject(request): return HttpResponse('测试项目逻辑')