如何在Django模板中使用原始python代码?

时间:2011-05-22 00:53:42

标签: python django

在smarty模板中,您可以将模板中的原始PHP代码放在“文字”模板标记中:

{literal}

echo 'hello world';

{/literal}

如何在Django模板中使用原始python代码?

6 个答案:

答案 0 :(得分:15)

您不能,这就是您必须创建运行该功能的自定义模板标记的原因。以下是有关如何执行此操作的更多信息:

http://docs.djangoproject.com/en/dev/howto/custom-template-tags/

答案 1 :(得分:3)

你不能在django模板中使用python代码。这是设计,Django的模板思想是将表示逻辑与编程代码隔离开来。

Django documentation states

  

Django的模板引擎提供了一种功能强大的迷你语言,用于定义应用程序的面向用户层,鼓励应用程序和表示逻辑的清晰分离

答案 2 :(得分:2)

你做不到。像大多数理智的模板引擎一样,Django不允许这样做(不是说我说Django是理智的还是什么......)。

答案 3 :(得分:1)

你做不到。但是,像Mako这样的东西可以让你这样做,但是,最好让你的逻辑(即python)远离模板。

事实上,有些模板只允许变量替换。

答案 4 :(得分:1)

您可以在Django 1.5中使用verbatim标记,如下所示:

{% verbatim myblock %}
    Avoid template rendering via the {% verbatim %}{% endverbatim %} block.
{% endverbatim myblock %}

答案 5 :(得分:0)

你根本做不到!你可以在jinja模板中访问一些python原始代码,比如使用for循环等调用字典变量,使用自定义模板,你可以通过使用Python定义自定义标签和过滤器来扩展模板引擎,然后将它们提供给你的模板使用 {%load%} 标记。