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

发布于 2024-11-09 13:56:39 字数 199 浏览 0 评论 0原文

在 smarty 模板中,您可以通过将原始 PHP 代码放置在“literal”模板标记中来在模板中使用原始

{literal}

echo 'hello world';

{/literal}

PHP 代码:How can you use raw python code in a Django template?

In smarty templates you can use raw PHP code in a template by placing it within the "literal" template tag:

{literal}

echo 'hello world';

{/literal}

How can you use raw python code in a Django template?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

年华零落成诗 2024-11-16 13:56:39

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

http://docs.djangoproject.com/en/开发/howto/自定义模板标签/

You can't, that's why you have to create custom template tag which runs the functionality. Here's more information on how to do that:

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

旧夏天 2024-11-16 13:56:39

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

Django 文档状态

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

You cannot use python code in django template. This is by design, Django's idea of template is to isolate the presentation logic from the programming code.

Django documentation states :

Django’s template engine provides a powerful mini-language for defining the user-facing layer of your application, encouraging a clean separation of application and presentation logic

兮子 2024-11-16 13:56:39

你不能。与大多数理智的模板引擎一样,Django 不允许这样做(并不是说 Django 是理智的或其他什么......)。

You can't. Like most sane template engines, Django's doesn't allow that (not that I'm saying that Django is sane or anything...).

笑梦风尘 2024-11-16 13:56:39

您可以在 Django 1.5 及以上版本中使用 verbatim 标签,如下所示:

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

You can use verbatim tag in Django 1.5 onwards as follows:

{% verbatim myblock %}
    Avoid template rendering via the {% verbatim %}{% endverbatim %} block.
{% endverbatim myblock %}
耳钉梦 2024-11-16 13:56:39

你不能。然而,有像 Mako 这样的东西可以让你做到这一点,但是,大多数情况下保持逻辑是个好主意(即Python)远离模板。

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

You cannot. However, there are things like Mako that let you do that, but, mostly its a good idea to keep your logic (i.e. python) away from templates.

In fact, some templates only allow variable substitution.

过去的过去 2024-11-16 13:56:39

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

You simply can't! .You just can access some python raw code inside the jinja templates like calling a dictionary variable using a for loop etc and using custom templates you can extend the template engine by defining custom tags and filters using Python, and then make them available to your templates using the {% load %} tag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文