• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Django 如何从request中获取前端数据

    Django

    ###request

    如果说 urls.py 是 Django 中前端页面和后台程序桥梁,那么 request 就是桥上负责运输的小汽车

    可以说后端接收到的来至前端的信息几乎全部来自于requests中。

    ##request对象的属性

    request.META

    request.MATE获取的是一个标准的python字典。它包含了所有的HTTP请求信息

    1 CONTENT_LENGTH —— 请求的正文的长度(是一个字符串)。

    2 CONTENT_TYPE —— 请求的正文的MIME 类型。

    3 HTTP_ACCEPT —— 响应可接收的Content-Type。

    4 HTTP_ACCEPT_ENCODING —— 响应可接收的编码。

    5 HTTP_ACCEPT_LANGUAGE —— 响应可接收的语言。

    6 HTTP_HOST —— 客服端发送的HTTP Host 头部。

    7HTTP_REFERER —— Referring 页面。

    8 HTTP_USER_AGENT —— 客户端的user-agent 字符串。

    9 QUERY_STRING —— 单个字符串形式的查询字符串(未解析过的形式)。

    10 REMOTE_ADDR —— 客户端的IP 地址。

    11 REMOTE_HOST —— 客户端的主机名。

    12 REMOTE_USER —— 服务器认证后的用户。

    13 REQUEST_METHOD —— 一个字符串,例如"GET" 或"POST"。

    14 SERVER_NAME —— 服务器的主机名。

    15 SE0RVER_PORT —— 服务器的端口(是一个字符串)

    获取请求的源主机:HttpRequest.get_host()

    request.scheme

    请求的方式,即http或者是https

    request.path

    请求的路径,这里的路径是指相对路径,也就是说一个登陆后台页面的请求:http://127.0.0.1:8000/admin 的路径是 /admin

    获取完整路径(包括参数):HttpRequest.get_full_path()

    获取绝对url: HttpRequest.bulid_absolute_uri(location) 此参数默认为完整路径

    request.encoding

    请求提交的数据的编码方式

    request.session

    request.session 获取的是一个类似于字典的对象,可以进行读取写入操作,常用来保存一些数据来实现会话跟踪技术。因为 HTTP 是一个无状态,不连续的协议。

    如果想让服务器记住当前的访问对象,就需要记录请求者的一些信息来达到这个目的。

    # 设置session
    request.session["name"] = "root"
    # 获取session
    name = request.sessin["name"]

    !!!说到这里需要提一下,django会默认为session使用json序列化。json序列化只能序列化一些基本数据类型,如数字,字符串,列表等。

    所以session不能直接存储对象.可以简单的在settings中添加 SESSION_SERIALIZER = "django.contrib.sessions.serializers.PickleSerializer"

    request.COOKIES

    与session类似,区别是cookies数据是保存在客户端,session数据是保存在服务端。

    相对而言session更安全,cookies在不同的浏览器上保存数据的大小限制也不同。但是,存在即合理。

    cooike自有它的好处这里不多说。

    # 设置cookies
    response.set_cookie('name','root')
    # 设置加密cookies
    response.set_cookie('passsword','123456',salt='@#$!%^')
    # 获取cookie
    request.COOKIES.get("name")
    # 获取加密的cookie
    request.get_signed_cookie("password",salt="@#$!%^")

    request.method

    请求方式 POST/GET…

    ####下面正式开始获取数据

    就是在这里遇见了一些小问题,所以导致我写这篇文章来记录一下

    request.body

    请求的主体,返回的是一个字符串

    request.data

    请求的数据部分,返回的是一个字典对象(除此之外,与request.body是很类似的)

    request.POST

    获取post方式表单中提交的数据

    request.POST["username"]
    request.POST.get("username")

    request.GET

    获取get方式表单中或url提交的数据

    request.GET["username"]
    request.GET.get("username")

    补充:django框架下,前端调取数据详解

    首先话痨一下,公司服务端使用的是python语言,而我们的后台项目使用的django框架,前端调取数据也是基于框架输出的。下面总结一下django框架下,前端调取数据的各种情况。

    在前端页面调取数据,我们最常使用的方式总结为以下几种:

    数据直接输出、for循环输出、if判断输出、日期格式化。

    下面我们针对每一种情况看看django是怎样输出的

    1、数据直接输出

    {{ form.deliver_institution }}

    2、for循环和if判断结合使用

    {% for item in form.newborn_hearing_screening %}
        {% if forloop.first %}
        {% else %}
            {{ item }}nbsp;
        {% endif %}
    {% endfor %}

    3、日期格式化

    {{ my_date|date:"Y-m-d" }}
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • python自动化测试三部曲之request+django实现接口测试
    • Django 解决上传文件时,request.FILES为空的问题
    • django日志默认打印request请求信息的方法示例
    • Django之全局使用request.user.username的实例详解
    • Django 请求Request的具体使用方法
    • Django框架HttpRequest对象用法实例分析
    • 对Django 中request.get和request.post的区别详解
    上一篇:一文秒懂python中的 \r 与 end=‘’ 巧妙用法
    下一篇:使用Django和Flask获取访问来源referrer
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Django 如何从request中获取前端数据 Django,如何,从,request,中,