from django.shortcuts import render, HttpResponse, redirectfrom django.http import JsonResponse
1. render: 渲染模板
def index(request):print(reverse('index'))return render(request, "index.html")
return render(request, 'index.html', context={'name': 'lisi'})
return render(request, 'index.html', context, status=200)
context = {'status': 200,'name': 'lisi','age': 20}return render(request, 'index.html', context)
2. HttpResponse: 返回字符串
def index(request):print(reverse('index'))return HttpResponse("我是index")
3. redirect: 重定向
def index(request):print(reverse('index'))return redirect(reverse('user'))def user(request):return HttpResponse("我是user")
4. JsonResponse: 返回jsonResponse响应
def test_json(request):return JsonResponse(list(range(10)))
设置 safe为 false 可以序列化列表
def test_json(request):return JsonResponse(list(range(10)), safe=False)
def test_json(request):return JsonResponse({"name": "张三", "age": 18})
json_dumps_params={'ensure_ascii': False} 可以改变乱码
def test_json(request):return JsonResponse({"name": "张三", "age": 18}, json_dumps_params={'ensure_ascii': False} )
5. request对象
request.GET
: 获取通过 GET 请求传递的参数。request.POST
: 获取通过 POST 请求提交的数据。request.COOKIES
: 获取请求中的 cookies 数据。request.META
: 获取 HTTP 请求头和其他元数据。request.FILES
: 获取上传的文件。request.path
: 获取请求的 URL 路径部分。request.path_info
: 获取去除 URL 前缀后的请求路径。request.method
: 获取请求的 HTTP 方法(如 GET、POST 等)。request.user
提供了当前登录用户的信息。request.session
用于存储和访问会话数据。
request.is_ajax()
(已弃用,从 Django 3.1 起) 检查当前请求是否是一个 AJAX 请求。
request.is_secure()
判断请求是否是通过 HTTPS 安全协议发送的。
6. 源码中找属性和方法