博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
render_to_response 解决传递多个字典的问题
阅读量:6153 次
发布时间:2019-06-21

本文共 1219 字,大约阅读时间需要 4 分钟。

hot3.png

render_to_response的第一个参数为模板名称,比如templates下的文件books.html,第二个参数为字典。例如:render_to_response('books.html', {'Publisher_line':Publisher_select_all)

在实验中,如果想在第二个参数中放置两个字典,比如

render_to_response('books.html', {'Publisher_line':Publisher_select_all,'Book_line':Book_select_all})

此时,第二个参数将会被忽略,在生成的网页文件中,只会出现第一个参数,要解决这个问题,可以使用一个字典的集合。例如

Publisher_select_all = Publisher.objects.all()

Book_select_all = Book.objects.all()

sql_dic = {'Publisher_line':Publisher_select_all,'Book_line':Book_select_all}

return render_to_response('books.html',sql_dic)

或直接写多个字典的集合

return render_to_response('books.html', {'Publisher_line':Publisher_select_all,'Book_line':Book_select_all})

到此,问题解决,两个变量均能在页面中显示。

在Template模版页面获取sql_dic变量的值可以通过使用{

{ Publisher_line }}和{
{ Book_line }}来分别获取这两个字典的值。

# vi books.html

{% extends "base.html" %}
{% block title %}应用 books 示例{% endblock %}
{% block content %}
示例 Publisher select_all:
<ul>
{% for item in Publisher_line %}
    <li> {
{item.name}}|{
{item.city}}|{
{item.country}} </li>
{% endfor %}
</ul>
示例 Book select_all:
<ul>
{% for item in Book_line %}
    <li> {
{item.title}}|{
{item.publication_date}}|{
{item.publisher_id}} </li>
{% endfor %}
</ul>
{% endblock %}

转载于:https://my.oschina.net/lionel45/blog/756885

你可能感兴趣的文章
vue2.0自定义指令,用touch事件替换scroll事件
查看>>
windows系统下在dos命令行kill掉被占用的pid
查看>>
使用 flutter 启动系统桌面
查看>>
OpenGL 金字塔
查看>>
RACSignal分析
查看>>
[译]使用MVI打造响应式APP(三):状态折叠器
查看>>
一个简单易用的树插件,支持异步加载子节点
查看>>
来掘金的第一篇博客
查看>>
从头开始复习js之这可能是最全的字符串用法
查看>>
澳洲中本聪Craig Wright涉嫌论文抄袭?
查看>>
解压缩
查看>>
数据库的一些基本知识博客
查看>>
数据清理的终极指南
查看>>
《转》汇编语言中 cs,ds,ss,es分别是那些英文单词的缩写?
查看>>
学习笔记 六 : NFS
查看>>
从0开始建立mysql数据库
查看>>
Docker学习笔记之镜像管理命令
查看>>
oracle SQL语句
查看>>
【微服务】网关Kong使用插件,自定义错误返回
查看>>
mysql 性能的检查和调优方法
查看>>