【问题标题】:Django include tag not workingDjango包含标签不起作用
【发布时间】:2012-01-13 11:15:52
【问题描述】:

我第一次尝试使用 Django 包含标签,但遇到了一些问题。我已经编写了下面的代码,但它给了我一个错误。我正在尝试包含一个 html 页面,该页面对于每个“特殊”(main.py 中定义的数据库)都不同。 {{ special.text }} 字段包含应加载的唯一网站地址。

{% for special in specials|dictsort:"register_date" reversed %}
<div class="specials_content {{ special.city }}">
{% include {{ special.text }} %}
</div>
{% endfor %}

我得到的错误是: TemplateSyntaxError: 'include' 标签有一个参数:要包含的模板的名称

现在我认为这是因为我必须将它定义为一个变量,但不幸的是我不明白如何从中制作一个变量。有人可以帮忙吗?

【问题讨论】:

  • 您不会使用include“加载网站地址”。你想做什么?
  • 所以 {{ special.text }} 的值例如是 interview-01-vienna.html 这个想法是有相当长的带有 html 布局的文本,被加载到网站中.所以'网站地址'应该是'url'可能

标签: html django templates include


【解决方案1】:

Second example here.

{% include special.text %}

【讨论】:

  • 好的模板。我已经尝试过您提出的解决方案,并且还使用了您提供的资源(链接)。但是,如果我把它放进去,页面就不会再加载了。 (没有错误,只是加载卡住了)
  • 现在它以某种方式加载,不确定发生了什么变化。但它不显示内容,当我在谷歌浏览器上“检查元素”时,它也不显示任何内容。但是,当我删除 INCLUDE 标记并只查找 {{ special.text }} 时,它会显示 interview-01-vienna.html。
  • @Vincent 你确定“interview-01-vienna.html”是完整路径,而不是相对路径。如果您正在呈现“interviews/index.html”并希望包含“interviews/interview-01-vienna.html”,则应提供完整的模板名称(“interviews/interview-01-vienna.html”)
  • 感谢您的意见,伊戈尔。该模板现在只是在“模板”目录中,所以它应该与我认为的当前 url 一起使用。当我将 special.text 作为内容加载时,不知道是什么原因导致的,它显示了正确的内容。 :(
猜你喜欢
  • 2013-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多