django 使用 request 获取浏览器发送的参数示例代码

获取数据(四种方式)

1. url: 需要正则去匹配

url(r'^index/(num)/$',view.index)

匹配到的参数会自动传入对应的视图函数

也可以给匹配到的参数起名字?P<num>

    url(r'^index/(?P<num1>\d*)(?P<num2>\w*)$',)

使用url传参的时候,要么都使用位置参数,要么都使用给参数起名字的方式

也可以通过request.path获取到url然后获取相应的参数.

如访问127.0.0.1:8000/index/

request.path = '/index/'

2. ?号后面的键值对(又叫查询字符串):

index/?num=55&num2=66&num=77
 request.GET.get('num') # 获取的是77
 request.GET.getlist('num') # 获取num的所有值
 request.GET.get('num2') 

3. 请求体

 request.POST.get() 获取表单数据
 request.body 获取非表单数据,如json
 request.body返回的是一个byte的对象
  b'{"key":"value"}',可以通过下面方式获取值
 data = eval(request.body.decode()).get('key')
 data1 = json.loads(request.body).get('key')
 #如果request.body没有数据上面两条语句都会报错

4. 报文头

request.META 获取请求头信息,
    django会自动把获取到的请求头全部转化为大写,并在前面加上HTTP,如:
    请求头: User-Agent:***** 
    获取方式: request.META.get('HTTP_USER_AGENT')

•代码示例(获取请求数据)

# 获取正则匹配到的数据,num1未位置参数,num2为命名参数,
def index(request,num2=None, num1=None):
 print(num2)
 # 构造响应数据
 reNT')
 sp = HttpResponse('hello world')
 # 获取请求头
 header = request.META.get('HTTP_USER_AGE)
 # 获取地址
 path = request.path
 # 获取 ? 后面的数据(获取查询字符串数据)
 para = request.GET
 # 获取json数据
 json_data = request.body
 data = eval(request.body.decode()).get('asd')
 data1 = json.loads(request.body).get('asd')
 # 获取表单数据
 form_data = request.POST
 # 获取请求方法
 method = request.method
 # 获取文件
 file_obj = request.FILES.get('image')
 return resp

总结

以上所述是小编给大家介绍的django 使用 request 获取浏览器发送的参数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 解决Django的request.POST获取不到内容的问题

    我通过如下的一段程序发送post请求: import urllib3 pool = urllib3.connection_from_url('http://127.0.0.1:8090') resp = pool.request('POST', '/polls/', fields={'key1':'value1', 'key2':'value2'}, headers={'Content-Type':'application/json'}, encode_multipart=False) 在服务器

  • 对Django 中request.get和request.post的区别详解

    Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法.GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.另外,还有PUT和DELETE方法. POST和GET都可以与服务器完成查,改,增,删操作. GET提交,请求的数据会附在URL之后,以?分割URL和传输数据,多个参数用&连接: POST提交,把提交的数据放置在HTTP包的包体中:因此,GET提交的数据会在地址栏中显示出来,而PO

  • 详解Django中Request对象的相关用法

    从Request对象中获取数据 我们在第三章讲述View的函数时已经介绍过HttpRequest对象了,但当时并没有讲太多. 让我们回忆下:每个view函数的第一个参数是一个HttpRequest对象,就像下面这个hello()函数: from django.http import HttpResponse def hello(request): return HttpResponse("Hello world") HttpRequest对象,比如上面代码里的request变量,会有一

  • django 使用 request 获取浏览器发送的参数示例代码

    获取数据(四种方式) 1. url: 需要正则去匹配 url(r'^index/(num)/$',view.index) 匹配到的参数会自动传入对应的视图函数 也可以给匹配到的参数起名字?P<num>     url(r'^index/(?P<num1>\d*)(?P<num2>\w*)$',) 使用url传参的时候,要么都使用位置参数,要么都使用给参数起名字的方式 也可以通过request.path获取到url然后获取相应的参数. 如访问127.0.0.1:8000/

  • Python编程获取终端命令行参数示例

    目录 实现步骤 命令行启动动态绑定端口号 代码实现 实现步骤 获取终端命令行参数,通过使用 sys.argv实现 1.导入sys模块 import sys 2.获取命令行参数 params = sys.argv print(params) print(params[1]) 获取到的为字符串类型,可能需要转换类型再使用 命令行启动动态绑定端口号 1.获取执行python程序的终端命令行参数 sys.argv 2.判断参数的类型,设置端口号必须是整型 if not sys.argv[1].isdig

  • 浅析JS获取url中的参数实例代码

    js获取url中的参数代码如下所示,代码简单易懂,附有注释,写的不好还请见谅! function UrlSearch() { var name, value; var str = location.href; //取得整个地址栏 var num = str.indexOf("?") str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ] var arr = str.split("&&

  • ASP.NET Core获取正确查询字符串参数示例

    目录 前言 表单域 解决方案 可空类型 [BindRequired] 属性 前言 有网友在交流群中询问,如何获取查询字符串参数: 默认情况下,ASP.NET Core 的模型绑定以键值对的形式从 HTTP 请求中的以下列表中指示的顺序扫描源并获取数据: 表单域 请求正文 路由数据 查询字符串参数 上传的文件 因此,不需要任何配置,即可在 Action 中获取到查询字符串参数: [HttpGet] public string Demo(int id, int price) { return $"i

  • Django Channel实时推送与聊天的示例代码

    先来看一下最终的效果吧 开始聊天,输入消息并点击发送消息就可以开始聊天了 点击 "获取后端数据"开启实时推送 先来简单了解一下 Django Channel Channels是一个采用Django并将其功能扩展到HTTP以外的项目,以处理WebSocket,聊天协议,IoT协议等.它基于称为ASGI的Python规范构建. 它以Django的核心为基础,并在其下面分层了一个完全异步的层,以同步模式运行Django本身,但异步处理了连接和套接字,并提供了以两种方式编写的选择,从而实现了这

  • django在保存图像的同时压缩图像示例代码详解

    假设我们有一个非常简单的Post模型,它将是一个图像及其描述, from django.db import models class Post(models.Model): text = models.TextField() image = models.ImageField(upload_to='images/') 但是我们要优化图像大小,这将由我们Post的image字段指出. 这样做有充分的理由-它有助于更快地加载网站/应用程序并减少我们的服务器存储. 在使用Django之前,首先让我们简

  • Django 实现Admin自动填充当前用户的示例代码

    model.py import datetime from django.contrib.auth.models import User from django.db import models class Entry(models.Model): title = models.CharField(max_length=250) slug = models.SlugField() pub_date = models.DateTimeField(default=datetime.datetime.

  • C# 利用Selenium实现浏览器自动化操作的示例代码

    概述 Selenium是一款免费的分布式的自动化测试工具,支持多种开发语言,无论是C. java.ruby.python.或是C# ,你都可以通过selenium完成自动化测试.本文以一个简单的小例子,简述C# 利用Selenium进行浏览器的模拟操作,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 要实现本例的功能,除了要掌握Html ,JavaScript,CSS等基础知识,还涉及以下知识点: log4net:主要用于日志的记录和存储,本例采用log4net进行日志记录,便于过程跟踪

  • C# 获取客户端IPv4地址的示例代码

    网上找了一些获取客户端IP的方法,但本地测试时,返回的是IPv6的表示方法"::1": Host文件里面:#    ::1             localhost 后来找了获取IPv4的方法就可以了,比较好用: public static string GetClientIPv4Address() { string ipv4 = String.Empty; foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP())) {

  • Django与AJAX实现网页动态数据显示的示例代码

    前言 这部分已经折腾我两天了,还是没有头绪,可能还会折腾更久,最后在第三天上午解决问题,在一个不起眼的地方被坑了,jQuery加载的问题.会者不难,难者不会,希望后面人少走弯路吧 环境 windows10 pycharm2017.3.3 professional edition python3.6.4 django2.0.2 方法 创建后台读取数据函数,用于后台从数据库读取数据.在views.py文件内增加以下代码 from django.http import JsonResponse def

随机推荐