(接收前端传参)视图层接收 和 设置cookie。--django.http自带的
视图层接收 和 设置cookie
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import json
# Create your views here.
# uri:postIndex/
@csrf_exempt
def postIndex(request):
# 请求方式
print('请求方式: ',request.method)
if request.method == 'POST':
# 请求体
print('获取请求头: ', request.META.get('HTTP_AUTHORIZATION')) //例子: {"authorization":123}
#请求体
print('获取请求体: ',request.body)
# 默认接收from-data类型
print('指定请求参数: ', request.POST.get("name",'获取不到参数默认我这个'))
# 接收json类型的写法
print(json.loads(request.body.decode('utf-8')).get("name"))
return HttpResponse('login success!')
//HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)
# uri:getIndex/
def getIndex(request):
# 请求方式
print('请求方式: ',request.method)
if request.method == 'GET':
#获取cookies信息
print('获取cookie:',request.COOKIES.get('user', '获取不到参数默认我这个'))
# 获取请求参数 ?name=123
print(request.GET.get("name",'获取不到参数默认我这个'))
#返回消息并写入cookie信息
response=HttpResponse('login success!')
response.set_cookie('user', 'test', 3600)
return response
from django.http import HttpResponse, HttpResponseRedirect
return HttpResponseRedirect('/event_manage/') #重定向目录,即让他去项里urls文件里面找对应地址
from django.shortcuts import render
return render(request,"index.html") 访问地址后直接访问这个文件
重定向
def response(request):
return redirect('/get_header')
记得去url.py设置链接映射关系
urlpatterns = [
path('admin/', admin.site.urls),
path(r'getIndex', views.getIndex),
path(r'postIndex', views.postIndex),
]
响应前端已json格式
from django.http import HttpResponse, JsonResponse
#接口回复json的api
def get_result_by_taskid(request):
return JsonResponse({'status': "123"})
这个有空试试可不可以用 drf的序列化组件 https://www.cnblogs.com/kaibindirver/p/13264461.html
设置请求码
def get(self, request):
return HttpResponse("123",status=200)
接收 如果想从URL中获取值http://127.0.0.1:8000/18/188/
urls.py
from django.urls import path
from book.views import goods
urlpatterns = [
path('<cat_id>/<goods_id>/',goods)
]
view.py
from django.http import JsonResponse
def goods(request,cat_id,goods_id):
return JsonResponse({'cat_id':cat_id,'goods_id':goods_id})
参考: https://blog.51cto.com/u_15349841/5437616

浙公网安备 33010602011771号