简介:本文的首席执行官注释将介绍有关如何连接前端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注释背景的相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?