django之视图函数
视图函数接收Web请求并返回Web响应。
请求对象
urls.py
from django.urls import path,re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), re_path(r'index/',views.index), re_path(r'^$',views.index) ]
views.py
from django.shortcuts import render, HttpResponse # Create your views here. ''' http://127.0.0.1:8000/index/ 协议://IP:port/路径/?get请求数据 url:协议、路径(端口之后,问号之前)、get请求数据(问号后面的)。 ''' def index(request): print('method', request.method) # GET or POST print(request.GET) # 如果是get请求这个字典里就有值 print(request.POST) # 如果是post请求这个字典里就有值 print(request.path) # /index/ 或 / print(request.get_full_path()) # 可以获得get请求数据 print(request.is_ajax()) # 判断是不是ajax方法,返True或False return render(request, 'index.html')
响应对象
响应对象主要有三种形式:
-
HttpResponse()
-
render()
-
redirect()
# return HttpResponse('<h1>OK</h1>') # return redirect('http://example.com/') import datetime now = datetime.datetime.now() return render(request, 'index.html', {'time': now}) ''' render方法会检测模板文件有没有模板语法,如果有的话就渲染成html文件。index.html --> 模板文件 '''