这篇文章主要介绍Django怎么从request中获取前端数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
go是golang的简称,而golang可以做服务器端开发,且golang很适合做日志处理、数据打包、虚拟机处理、数据库代理等工作。在网络编程方面,它还广泛应用于web应用、API应用等领域。
###request
如果说 urls.py 是 Django 中前端页面和后台程序桥梁,那么 request 就是桥上负责运输的小汽车
可以说后端接收到的来至前端的信息几乎全部来自于requests中。
##request对象的属性
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()
请求的方式,即http或者是https
请求的路径,这里的路径是指相对路径,也就是说一个登陆后台页面的请求:http://127.0.0.1:8000/admin 的路径是 /admin
获取完整路径(包括参数):HttpRequest.get_full_path()
获取绝对url: HttpRequest.bulid_absolute_uri(location) 此参数默认为完整路径
请求提交的数据的编码方式
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"
与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="@#$!%^&")
请求方式 POST/GET…
####下面正式开始获取数据
就是在这里遇见了一些小问题,所以导致我写这篇文章来记录一下
请求的主体,返回的是一个字符串
请求的数据部分,返回的是一个字典对象(除此之外,与request.body是很类似的)
获取post方式表单中提交的数据
request.POST["username"] request.POST.get("username")
获取get方式表单中或url提交的数据
request.GET["username"] request.GET.get("username")
补充:django框架下,前端调取数据详解
首先话痨一下,公司服务端使用的是python语言,而我们的后台项目使用的django框架,前端调取数据也是基于框架输出的。下面总结一下django框架下,前端调取数据的各种情况。
在前端页面调取数据,我们最常使用的方式总结为以下几种:
数据直接输出、for循环输出、if判断输出、日期格式化。
下面我们针对每一种情况看看django是怎样输出的
{{ form.deliver_institution }}
{% for item in form.newborn_hearing_screening %} {% if forloop.first %} {% else %} {{ item }} {% endif %} {% endfor %}
{{ my_date|date:"Y-m-d" }}
以上是“Django怎么从request中获取前端数据”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。