Django中views.py和html之间实现字典中键值的传递

之前在写Django时,会遇到以下两种情况:1.我在views.py中拿到了一个字典,现在要将字典中的key和value传输到html中进行展示,2.我在html多个输入框中取到的值要转换为字典给views.py进行处理。自己搞定了后做个总结,实际情况中,每个人的html不一样,可能我这种方法不是通用的。

首先看第一种代码,html调用时读取到context中的content(字典格式)后,在html中使用 content.items直接读取

以下为部分views.py的内容
def conf_result(request) :
service = request.POST.get('server').strip()
envnum = int(request.POST.get('env'))
envlook = envlist.objects.get(id="%d" % envnum)
appname = Server.get_by_server(service, envnum)
"""获取disconf配置,这里cfg的输出为字典格式"""
cfg = getdisconf.main(service, envnum)
choice = request.POST
context = {
'envlook' : envlook,
'appoint' : appname,
'content' : cfg,
'navs' : navs.get_all(),
}

if 'getconf' in choice :
return render(request, 'blog/conf_result.html', context=context)
-----------------------------------------------------------------------------
以下为html的部分内容
h5 style="color:blue">服务名称:{{ appoint.appuse }}---{{ appoint.ipuse }}---运行环境:{{ envlook.env_name }}</h5>
{% for k,v in content.items %}
<pre style="color:black">-------------配置文件名称: {{ k }} ----------</pre>
<pre style="color:black">{{ v }}</pre>
{% endfor %}
上述content即对应views.py中的cfg

第二种代码同理,html输入内容后,返回到views中进行处理,views直接使用request.POST.items()处理成字典数据,接下来就可以用字典进行处理数据了。

发表评论

相关文章