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")
  • 10
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 在Django将从Neo4j读取的数据放入Echarts可以按照以下步骤进行: 1. 首先,确保你已经在Django项目安装了Echarts的相关包,可以使用`pip install pyecharts`进行安装。 2. 在Django的视图函数,使用Neo4j的数据库驱动程序连接到Neo4j数据库,并执行查询语句获取需要的数据。 3. 将从Neo4j获取数据进行处理,转化为Echarts所需的格式。可以使用Python的数据处理库,如pandas或者numpy,来处理和转换数据。 4. 创建一个Echarts实例,并配置图表的类型和样式,如柱状图、折线图等。 5. 将处理后的数据添加到Echarts实例,可以使用`add()`方法将数据添加到相应的系列。 6. 设置Echarts实例的其他配置项,如标题、x轴、y轴等。 7. 将Echarts实例渲染成HTML页面或者图片,并将其返回给前端,可以使用`render()`方法将图表渲染成HTML代码。 8. 在Django的模板,使用Echarts的JS库和渲染后的HTML代码来呈现图表。可以使用HTML的`<div>`标签来设置图表的占位符,并将渲染后的HTML代码插入到相应的占位符。 这样,就能够将从Neo4j读取的数据呈现在Echarts了。最后通过Django进行整体的调用和展示。 ### 回答2: 在使用Django把从Neo4j读出的数据放进ECharts之前,需要先进行一些准备工作。 首先,我们需要在Django安装相关的库和插件。可以通过pip安装django-neomodel,该库提供了Django与Neo4j数据库之间的交互功能。 安装完成后,我们需要在Django的settings.py文件进行相应的配置。需要在INSTALLED_APPS添加'django_neomodel',并在DATABASES添加Neo4j数据库的连接信息。 接下来,我们可以创建一个Django的视图函数,用于从Neo4j读取数据。可以通过使用django_neomodel库提供的模型进行查询。例如,我们可以定义一个模型类来映射Neo4j的节点,然后通过查询该模型类获取数据。 读取数据后,我们可以将数据处理成ECharts所需的格式。ECharts接受的数据格式通常为JSON格式。我们可以将从Neo4j读取的数据进行处理,转换成相应的JSON数据结构。 最后,我们可以在Django的模板(HTML文件)引入ECharts的相关代码,并将处理好的数据传递给ECharts进行渲染。 可以使用ECharts提供的API方法进行渲染和配置。我们可以根据需要设置图表的类型、坐标轴、图例、数据系列等参数。 总结起来,使用Django将从Neo4j读取的数据放进ECharts,主要需要进行以下几个步骤:安装相关库和插件、配置Django连接Neo4j、编写视图函数读取数据、处理数据成ECharts所需的JSON格式、在模板引入ECharts代码并传递数据、通过ECharts的API方法渲染和配置图表。 ### 回答3: 要将从Neo4j读取的数据放入ECharts,可以按照以下步骤进行操作。 首先,通过Neo4j的Python驱动程序连接到Neo4j数据库并执行相应的查询语句,获取所需的数据。可以使用Py2neo库或neo4j-driver库来实现这一步骤。 接下来,将从数据获取到的数据进行处理和转换,以适应ECharts所需的格式。根据ECharts的文档,数据应该是一个包含各个系列(series)的列表,每个系列又包含该系列的数据(data)的列表。 然后,使用Python的模板引擎,如Django模板引擎,将处理后的数据以JSON格式渲染到前端页面。可以在Django视图通过将数据传递给模板并在模板使用相应的语法进行渲染。 最后,在前端页面使用ECharts的JavaScript库,根据渲染的数据创建图表。可以在HTML文件引入ECharts库,并编写相应的JavaScript代码,选择合适的图表类型和配置项,将从后端传递过来的数据传入并进行绘制。 总的来说,通过Neo4j的Python驱动程序获取数据,处理和转换数据,使用Django模板引擎将数据渲染到前端页面,再通过ECharts库在前端页面绘制图表,就可以实现将从Neo4j读取的数据放入ECharts的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值