当前位置: 首页 > article >正文

Django 视图层

from django.shortcuts import render, HttpResponse, redirect

from 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. 源码中找属性和方法 

 


http://www.kler.cn/a/420007.html

相关文章:

  • Android 使用OpenGLES + MediaPlayer 获取视频截图
  • D87【python 接口自动化学习】- pytest基础用法
  • vscode 如何支持点击跳转函数,以C++为例,Python等其它编程语言同理,Visual Studio Code。
  • xiaolin coding 图解 MySQL笔记——事务篇
  • 时间表格Java
  • 《Python基础》之Numpy库
  • openjdk17 jvm 对象 内存溢出 在C++源码体现
  • 数据仓库: 8- 数据仓库性能优化
  • 视频video鼠标移入移除展示隐藏(自定义控件)
  • 第22周:机器学习
  • 从Apache Solr 看 Velocity 模板注入
  • Android:生成Excel表格并保存到本地
  • 使用epoll监测定时器是否到达指定时间,并执行回调函数
  • 前端番外小知识——为什么需要箭头函数?
  • Pytorch使用手册-What is torch.nn really?(专题九)
  • 【电子通识】USB Type-C线缆为什么有的用到E-Marker芯片
  • 数据结构自测题4
  • 【docker】docker网络六种网络模式
  • 雪花算法生成ID
  • git 常用命令及问题
  • 多级缓存设计实践
  • Cannot resolve symbol ‘ActivityThread‘ | Android 语法
  • 【目标跟踪】AntiUAV600数据集详细介绍
  • avcodec_alloc_context3,avcodec_open2,avcodec_free_context,avcodec_close
  • 多功能察打一体多旋翼无人机技术详解
  • 摆脱复杂配置!使用MusicGPT部署你的私人AI音乐生成环境