首页 > 其他分享 >Django视图层——2HttpReqeust对象&QueryDict对象

Django视图层——2HttpReqeust对象&QueryDict对象

时间:2024-05-25 09:56:13浏览次数:19  
标签:http QueryDict get 对象 GET 视图 POST 2HttpReqeust

HttpReqeust对象

  • 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象

  • 视图函数的第一个参数是HttpRequest对象

  • 在django.http模块中定义了HttpRequest对象的API

属性

下面除非特别说明,属性都是只读的

  • path:一个字符串,表示请求的页面的完整路径,不包含域名

  • method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST'

  • encoding:一个字符串,表示提交的数据的编码方式

    • 如果为None则表示使用浏览器的默认设置,一般为utf-8
    • 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值
  • GET:一个类似于字典的对象,包含get请求方式的所有参数

  • POST:一个类似于字典的对象,包含post请求方式的所有参数

  • FILES:一个类似于字典的对象,包含所有的上传文件

  • COOKIES:一个标准的Python字典,包含所有的cookie,键和值都为字符串

  • session:一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用,详细内容见“状态保持”

方法

GET && POST

一键一值

http://127.0.0.1/get?a=1&b=2&c=3

request.GET['name']
request.GET.get('name',None)

一键多值

http://127.0.0.1/get?a=1&a=2&b=3

request.GET.getlist('name',None)

request.POST.getlist('name',None)
  • is_ajax():如果请求是通过XMLHttpRequest发起的,则返回True
     

    QueryDict对象

  • 定义在django.http.QueryDict

  • request对象的属性GET、POST都是QueryDict类型的对象

  • 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

  • 方法get():根据键获取值

    • 只能获取键的一个值
    • 如果一个键同时拥有多个值,获取最后一个值
      dict.get('键',default)
      或简写为
      dict['键']
      
  • 方法getlist():根据键获取值

    • 将键的值以列表返回,可以获取一个键的多个值
      dict.getlist('键',default)
      

标签:http,QueryDict,get,对象,GET,视图,POST,2HttpReqeust
From: https://blog.csdn.net/xyh2004/article/details/139191952

相关文章

  • Oracle视图故事:西游记之三打白骨精
    背景设定                         在遥远的东方,有一个神奇的数据库世界,这里存储着无尽的智慧和信息。在这个世界中,有一位智者——唐僧,他带领着他的三个徒弟:孙悟空、猪八戒和沙僧,踏上了寻找“真经”的征程。然而,这个过程......
  • 深入《MySQL视图》及《MySQL索引与分区》
    一. MySQL视图#MySQL视图深度指南:从新手到专家欢迎来到这篇全面的MySQL视图教程。在数据库的世界中,视图(View)是一个强大的工具,它允许你以一种安全且用户友好的方式操作数据。本篇博文将带你了解什么是视图、如何创建它们,以及如何有效地使用视图来简化你的数据库操作。##什......
  • Vitis HLS 学习笔记--控制驱动TLP - Dataflow视图
    目录1.简介2. 功能特性2.1 DataflowViewer的功能2.2 Dataflow 和 Pipeline的区别3.具体演示4.总结1.简介Dataflow视图,即数据流查看器。DATAFLOW优化属于一种动态优化过程,其完整性依赖于与RTL协同仿真的完成。因此,“Dataflow”(数据流)查看器的设计目的是......
  • 数据库视图
    学生表:Student(Sno,Sname,Ssex,Sage,Sdept)学号,姓名,性别,年龄,所在系Sno为主键students|CREATETABLE`students`(`Sno`intNOTNULL,`Sname`char(30)DEFAULTNULL,`Ssex`char(10)DEFAULTNULL,`Sage`intDEFAULTNULL,`Sdept`char(20)DEFAULT'......
  • 使用链接服务器 从A数据库访问B数据库的表 或者建立视图
    通过SQLServer从A服务器访问B服务器表的方法场景:访问不同电脑上的数据库,且经常访问或数据量大,建议用链接服务器(位置:MicrosoftSQLServerManagementStudio->服务器对象->链接服务器)解决:1.创建链接服务器execsp_addlinkedserver'192.168.1.1','','SQLOLEDB','10.......
  • 数据库触发器、存储过程、视图、约束
     【触发器】MySQL中的触发器(Trigger)是一种数据库对象,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后,自动执行预定义的SQL语句或一系列操作。触发器主要用于增强数据库的逻辑控制,确保数据的完整性和一致性,以及执行一些附加的任务,如审计、日志记录或验证数据。......
  • 数据库中了解的知识点:视图、触发器、事务、存储过程、函数、流程控制、索引
    【视图】1什么是视图?2视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接用3其实视图也是表45为什么要用视图?6如果要频繁的操作一张虚拟表,就可以制作成视图,下次可以直接操作78如何操作9#固定语法10createview......
  • ASP.NET Core应用程序7:使用视图组件
      视图组件是类,为支持分部视图或者在父视图中注入少量Html或Json数据提供了应用程序逻辑。1准备工作  Models文件夹中添加City.cs类和CitiesData类,为CitiesData添加服务。publicclassCity{publicstringName{get;set;}publicstringCo......
  • 数据库视图
    1.什么是视图?视图是一个虚拟表,它不在数据库中以存储的形式保存(本身不含数据),在使用视图的时候动态生成。2.视图的优点2.1.提高了查询效率数据库中的数据查询非常复杂,可以简化sql语句2.2安全有些保密字段,可以通过创建视图限制用户对某些字段进行操作。2.3简单不需要关心后买......
  • MySql5.6 关于视图访问权限问题记录
    问题描述使用zstack或root账号访问视图view3出现[root@172-26-52-170mariadb]#mysql-uzstack-pzstack.passwordzstack-e"select*fromview3"ERROR1045(28000)atline1:Accessdeniedforuser'zstack'@'localhost'(usingpassword:YES)......