(8)视图views(url·错误视图404·get·post·HttpResponse·重定向·JsonResponse·状态保持·redis缓存)

views:接收并响应请求

(1)配置URL

project.url

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

urlpatterns = [
    #配置视图
    path('admin/', admin.site.urls),
    path('',include(('myapp1.urls','myapp1'),namespace='myapp1')),#反向解析
]

myapp.url

from django.urls import path
from . import views
from django.conf.urls import url

urlpatterns = [
   path('',views.index),  #在视图下获得数据
   url(r'^(\d+)/$',views.detail,name="detail"),#(反向解析)使用硬编码连接,动态生成链接
   path('grades/',views.grades1),
   path('addstu/',views.addstudents)
]

(2)404错误视图配置

settings.py

DEBUG = False
ALLOWED_HOSTS = ['*']

在templates下建一个404.html错误页面

(3)get:获取浏览器数据

views
#get获取浏览器数据
def get1(request):
   a = request.GET.get('a')
   #b = request.GET.get('b')
   b = request.GET['b']
   c = request.GET.get('c')
   return HttpResponse(a + "  " + b +"  " + c)
def get2(request):
   a = request.GET.getlist('a')
   a0=a[0]
   a1=a[1]
   c = request.GET.get('c')
   return HttpResponse(a0 + "  " + a1 +"  " + c)

(4)post:获取表单提交数据

views

def showregist(request):
   return render(request,'myapp1/regist.html')
def regist(request):
   request.POST.get("name")
   request.POST.get("gender")
   request.POST.getlist("hobby")
   return HttpResponse("post")

(5)HttpResponse属性和方法

url配置

(6)重定向:重复利用模板(template)(下面两种方法皆可)

(7)JsonResponse

(8)状态保持

一般使用session存储数据(cookie不安全),记录当前请求者资料

删除session

设置过期时间

(9)redis

猜你喜欢

转载自blog.csdn.net/qq_40178878/article/details/86626768