视图介绍和项目准备
视图介绍
- 视图就是
应用
中views.py
文件中的函数 - 视图的第一个参数必须为
HttpRequest对象
,还可能包含下参数如- 通过正则表达式组获取的位置参数
- 通过正则表达式组获得的关键字参数
- 视图必须返回一个
HttpResponse对象
或子对象
作为响应- 子对象:
JsonResponse
HttpResponseRedirect
- 子对象:
- 视图负责接受Web请求
HttpRequest
,进行逻辑处理,返回Web响应HttpResponse
给请求者- 响应内容可以是
HTML内容
,404错误
,重定向
,json数据
...
- 响应内容可以是
视图处理过程如下图:
使用视图时需要进行两步操作,两步操作不分先后
- 配置
URLconf
- 在
应用/views.py
中定义视图
项目准备
创建项目+创建应用+安装应用+配置模板路径+本地化+mysql数据库+URLconf+视图
mysql数据库使用之前的
Bookdb
DATABASES = { '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.py
urlpatterns = [ 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('测试项目逻辑')