当前位置: 首页 > 网络应用技术

Django如何将数据传递到前端(2023年的最新答案)

时间:2023-03-06 19:00:13 网络应用技术

  简介:许多朋友问有关Django如何将数据传输到前端的问题。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  例如:数据库具有一个用户表,它具有名称和年龄字段,需要在页面上显示

  #.py

  DEF测试(请求):

  #从数据库中检查数据

  user = user.objects.get(id = 1)

  返回render_to_response('test.html',{'user':user},context_instance = requestContext(request))

  #.html

  ... ... ...

  名称:{user.name}}

  年龄:{user.age}}

  ... ... ...

  如果是Django的构建 - 模板引擎,

  例如,A类,实例A,A,一个属性名称,

  然后{{a}}是一个实例a,{{a.name}}是命名值

  Django将绘制的图像从PY文件传输到前端,并努力工作。好吧,它看起来像是一个模特,而Azaiso进入了魔法残酷的人。

  首先,您需要掌握的是数据库查询语句。这是最简单的数据库查询语句:从sys_role中进行选择 *,这意味着从字符表查询所有信息。NEAD代码调用此SQL语句

  请单击输入图片说明

  在ApplicationContext.xml(Spring MVC的配置文件)中配置数据库连接池,以确保数据的正常连接。在这里,您需要注意连接IP和数据库名称

  请单击输入图片说明

  首先在控制层(逻辑处理层)中调用背景查询函数,然后返回页面。因为数据库可能相对较大,因此您需要使用分页工具来确保内存能力

  请单击输入图片说明

  通常实施业务逻辑层。这是实施类别和业务分布。需要此处调用数据库的DAO层的方法。

  请单击输入图片说明

  最后,我在Mybatis的配置文件中编写MyBatis查询语句,然后将其封装到方法中。它与SYS_role的原始选择 *不同。

  请单击输入图片说明

  最后返回JSP页面。根据上一个控制层页面输出,我们需要编写一个root.jsp文件。该文件主要遍历查询数据并遍历C标签的形式。

  请单击输入图片说明

  7

  最后,前端页面框架可以显示前端样式显示如下

  请单击输入图片说明

  类别和vue接口对接

  首先是取出所有类别的所有内容

  由于前端vue显示类别已分类

  第一级,两个级别和三个级别如下

  因此,我们需要取出所有三个内容

  但首先,您需要拿出第一级,然后镶嵌第二级,然后在第三季度插入第二级,就像上面商品中显示的类别的内容一样。

  我们仍然需要编写序列化器

  这是第一个级别的第二级第二级第二级镶嵌第三级 -

  但是这里有一个问题,不要犯错。这三个类别的立场并不是错误的。

  因为第一级正在调用第二级,所以必须先写第二级

  因此,第二级必须处于相同级别的相同级别。

  然后是视图

  在过滤器中添加类别_type = 1,以便您可以直接显示第一个类别,然后对第二个小类别有更分层的感觉。

  同时,我们必须处理单个信息

  因此,我们继承了Mixins.RetRieveModelMixin,这是一个显示详细信息的类

  例如,在动物园中显示某个动物

  /zoos/id

  这样的URL

  同样,我们只能直接配置类别的URL。

  您不需要考虑以后的ID是否需要配置URL。您不需要考虑它,因为我们继承了视图类

  他帮助我们解决了这些问题

  您可以以这种方式看到它来处理我们的后端

  但是,在处理前端对接时,您会发现它无法显示

  因为有一个十字架问题

  这个问题可以单独解决前后的后端,因此请谈谈后端方法

  只需修改服务方

  在GitHub上搜索Django-Cors-neaders以查找此信息

  如何以相同的方式使用它

  安装

  PIP安装django-cors头

  然后在Settins中的intasted_apps配置和设置中的中间件配置

  请注意此处的中间软件配置

  'corsheaders.middleware.corsmiddleware',

  'django.middleware.common.commonmiddleware',

  这两个必须放在

  'django.middleware.csrf.csrfviewmiddleware',,

  否则,这将在此前面有错误

  也配置

  cors_origin_allow_all = true

  允许交叉域访问其默认值是错误的

  这可以正常显示在前端

  为什么发生交叉域访问

  因为在VUE中的API配置中,我们可以修改所有主机。一些在线数据。我们调试本地数据的一部分,因此我们需要重新确定本地主机

  修改一些主机链接

  这导致使用在线主机端口的交叉域本身,但是数据中的某些数据是本地主机端口导致交叉域访问

  特点

  字符形的数据相对容易获得。

  senddata = {“ exportType”:exportType,exportType,

  “ bugids”:bugids,

  “测试”:json.stringify({“ test”:“ test”})

  };

  只需使用exportType = request.get.get.get(“ exportType”)在django的后端

  您可以正常获取此数据。

  注意:Python2.7中的数据由Unicode编码。如果您想使用它,有时您需要转向str

  结果:示例:

  DEBL类型“ Unicode”

  大批

  获取数组类型的数据。如果您使用获得字符串数据的方法,则结果无。我们想使用此方法:

  bugids = request.get.getList(“ bugids []”)

  以这种方式获得的数据是数组类型。

  注意:所获得的数组中的元素是Unicode编码的,并且需要某个点需要该部分

  结果:示例:

  ?通过URL

  [14/JUL/2016 11:00:41]“ get/testtools/exportbug/?exportType = exporttype = explbugids%5b%5d = 102bugids%5D = 101bugids%5D

  ?获得的数据

  [u'102',u'101',u'100',u'99',u'98',u'97',u'96',u'96',u'95',u'94',u'94',u'93',u'92',u'91',u'90',u'89',u'88',u'87'

  典型的

  典型数据可以视为字符串数据。获得相应的字符串后,您可以使用JSON模块将其格式化。

  对于前端,传递字典的典型数据是传递JSON数据,因此使用方法是:

  “测试”:json.stringify({“ test”:“ test”})

  结果:示例:

  {“ test”:“ test”}键入'unicode'

  相关的源代码

  ?获取方法

  GET方法是WSGI中的一种方法。

  def获取(自我):

  #WSGI规格说“ query_string”可能是清晰的。

  raw_query_string = get_bytes_from_wsgi(self.envring,'query_string','')

  返回http.querydict(raw_query_string,encoding = self._encoding)

  最终返回是http.querydict(raw_query_string,encoding = self._encoding)http的原始数据,而QueryDict在MultivalueDics中继承了,因此我们只看了多亚数。

  ?数量化

  实际上,源代码看起来并不困难。

  def get(self,key,default = none):

  ”“”

  返回传递密钥的最后一个数据值。如果键do

  或值是一个空列表,然后默认被拒绝。

  ”“”

  尝试:

  val = self [键]

  除了键:

  返回默认值

  如果值== []:

  返回默认值

  返回阀

  def getList(self,key,default = none):

  ”“”

  返回传递密钥的值列表。如果键不存在,

  然后重新列出默认值。

  ”“”

  尝试:

  返回super(Multivaledict,self).__ getItitItem __(键)

  除了键:

  如果默认为无:

  返回 []

  返回默认值

  def __getItem __(self,key):

  ”“”

  返回该密钥的最后一个数据值,或[]如果是一个空列表;

  如果找不到的话,请提高钥匙扣。

  ”“”

  尝试:

  list_ = super(MultivalueDict,self).__ getItitItem __(键)

  除了键:

  提高MultivaleMedIctKeyError(reter(key))

  尝试:

  返回列表_ [-1]

  除了IndexError:

  返回 []

  结论:以上是由Django的相关内容编写的主要CTO注释,以将数据传递到前端内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?