5 view 视图

在Django中,通过浏览器请求一个页面时,使用视图函数来处理这个请求的。视图函数处理之后,要给浏览器返回内容。

视图函数的使用:

视图函数定义在views.py中

1、定义视图函数:

 这个index函数决定返回index页面的内容

from django.shortcuts import render

#这个要import进来
from django.http import HttpResponse

# Create your views here. #定义视图函数时,必须有request参数 #127.0.0.1:8000/index def index(request): #进行处理,和M(models.py数据库) 和 T(模版)进行交互 #返回内容 return HttpResponse("这是返回内容")
def help(request):
  return HttpResponse("这是帮助页面")

 

2、进行URL的配置:

建立URL地址和视图的对应关系 

在booktest目录下(Django-admin startproject booktest)新建一个urls.py:

3、

 

from booktest import views
from django.urls import path

urlpatterns = [
    #通过path函数设置url路由配置项【Django2.0之前的版本中是url函数,之后是path函数】
    # 建立'index'和views.py中的index函数之间的关系
    path('index', views.index),
path("help",views.help), ]

 

4、

在项目中的urls中添加包含booktest应用中的urls文件。即当接收到xxxx/index时,先在这里进行正则匹配,匹配到第二项(因为是空的所以匹配所有,然后路由到booktest中的urls文件)

 

from django.contrib import admin
from django.urls import path, include

#项目的配置项
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('booktest.urls')),#包含booklets应用中的urls文件
]

 

配置path有两种格式:

a:    path('index', views.index), 前面是要匹配的内容(/index或者/help),后面是对应的执行的函数

 

b:    path('',include('booktest.urls')), 前面是要是匹配的内容(空为匹配所有字符串),后面是包含应用中的urls文件,比如这里匹配到任何除了"admin"之外的字符串,都会执行booktest目录下的urls.py,然后会继续在booktest.urls中的urlpatterns中进行匹配(所有内容都指向这里,在这里进行具体匹配)

所以在工作中,配置path(Django2之前是urls),首先在项目的urls.py文件中添加配置项时,并不写具体的URL和视图函数之间的对应关系,而是包含(include)具体应用的urls.py文件,在应用中的urls.py文件中写path(url)和视图函数的对应关系。

 

 

 

posted @ 2019-07-30 02:05  greenfan  阅读(159)  评论(0)    收藏  举报