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

如何做Django前端背景(2023年的最新答案)

时间:2023-03-05 19:50:26 网络应用技术

  简介:本文的首席执行官注释将介绍有关如何连接前端django前端背景的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  特点

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

  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。如果您已经阅读了官方文档,查询数据并将列表传递给前台。没有问题,非常简单的代码行。如果您不能,请检查Django文档的相应版本。

  jQuery ajax请求。在下面的示例代码上查看

  //这是使用POST方法的Ajax异步请求

  $ .ajax({type:“ post”,

  URL:“/message/”,

  数据: {

  Telnum:$(“ #telnum”)。val(),

  Ordernum:$(“ #ordernum”)。val(),

  Mesgchaannel:$(“ #mesgchaannel”)。val(),

  mesglevel:$(“ #mesglevel”)。val(),

  开始时间:$(“#datePicker1”)。val(),

  末日:$(“#datepicker2”)。val()

  },,

  成功:功能(响应){

  $('#result')。HTML(响应);

  }

  });

  //以下是在异步请求成功之后接收数据的HTML标签

  div

  div ID =“结果” class =“ alert”/div

  /div

  后端使用的DRF是UWSGI+NGINX

  输入服务器项目文件目录,我的django项目放置在“/usr/myprojects/” directory.create uwsgi.ini文件中的uwsgi.ini文件中。

  测试效果命令:

  如果您访问:xxx.xxx.xxx.xx:8000成功,那么uwsgi.ini配置成功

  我的nginx.conf位置是“ /etc/nginx/nginx.conf”

  配置文件如下:

  1.第一行

  主要是给予NGINX加权。部署历史记录路线后,将删除地址背后的“#”号码。包装部署后,将会有一个错误。

  2.如果显示配置,则有两个服务器部署了前端服务和后端服务。值得注意的是,两台服务器使用同一服务器,这与侦听不同。

  3. VUE部署需要注意反向代理地址:

  和随后的端口问题

  4.后端服务器需要注意该位置的UWSGI_Pass后面的最终口号。

  5.交叉 - 域问题。如果我需要在自己的在线上找到配置,我没有遇到它,因为我在Django的设置中配置了交叉域。

  6. Django Suit背景管理样式已经崩溃,需要更改,但是可以正常访问API。

  7.我开始在后台收听端口8008,并在前端监视端口80中听,以便前端显示出良好的外观。尽管可以正常访问背景API,但VUE的本地开发环境也可以正常运行,并且文本和图片资源都正常显示。结果,它无法显示。对于地图,我选择了前面- 末端监视器以收听端口8008,后端监视80,并且显示后显示正常。原因尚不清楚////////// erly谈论它。

  8.不要问我为什么我将前端和后端分开并在服务器上部署?糟糕,只是测试,这不是必需的

  9.本文仅适合入门

  关于Django的后台管理员(西装)修改(参考:Django中文网站:)

  在环境中输入项目目录,您需要收集CSS样式并在终端中输入命令:

  接下来,您可以找到静态文件包含CSS文件。此时,该网站已打开,样式显示正常

  UWSGI启动xxx.ini后,将在同一目录中生成xxx.pid文件。UWSGI主要过程的过程数中只有一行内容。

  关于UWSGI,输入同一目录

  课

  如果您无法获得环境,请指定环境

  另外:请记住重新启动UWSGI并重新启动NGINX。

  暴力删除:Fuser -K 80/TCP

  Netstat -aptn命令行,检查所有开放端口号码

  netstat -tlp |GREP 80查看是否使用了特定端口

  PS -EF |grep uwsgi查看是否存在UWSGI端口

  类别和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配置中,我们可以修改所有主机。一些在线数据。我们调试本地数据的一部分,因此我们需要重新确定本地主机

  修改一些主机链接

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

  如果完成前端,则是根据后端部分填写数据。

  一种方法是,后端程序员直接将您的页面插入并插入数据。对于某些模板,例如PHP,JSP和此外,还有类似的形式,例如Rhtml,Django Template,Velocity等。PHP中也致力于处理一些简单情况非常好。

  这样,前端并不忙于页面的背面。它只能让后端熟悉前端的设计,因此您可以将一些细节解释为前端。

  一种方法是按Ajax获取数据,也就是说,让后端显示数据,然后让前端将其带回填充页面。在XML格式中,JSON格式也更受欢迎。情况,前端的其余部分已经完成,前端和后端的详细信息需要就数据格式的详细信息达成一致。

  这种方法的缺点是它取决于前端的通信,几乎不可能实现测试驱动的开发。

  因此,此方法具有各种变体,例如ember.js,quotion.js,backbone.js.s.s.s.s. times,您需要为数据设计一个模式。它可能不会写在前端或后端。可以在项目的最初阶段达成协议。显示正确位置的数据并实施一些交互式功能。

  请使用您的手机“扫” x

  结论:以上是Django前端和首席CTO注释背景的相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?