Django模板中的Python [关闭]
Posted
技术标签:
【中文标题】Django模板中的Python [关闭]【英文标题】:Python in django Template [closed] 【发布时间】:2015-12-19 00:54:03 【问题描述】:如何在django html模板中集成python代码 python 代码 % python 代码 % 不能在 html 页面中工作
【问题讨论】:
简单地说,你没有。您要么使用模板语法,要么使用应该使用的视图。模板不应该是逻辑的地方 真正的问题是,我看到很多人在阅读文档之前就开始开发。如果您不知道如何使用工具,就无法使用它! Django Template Tags and Filters,但请先阅读教程。 【参考方案1】:正如已经提到的,你不能(至少不是开箱即用,也不是没有巨大的痛苦)直接将 Python 代码嵌入到 Django 模板中,就我而言,这是一个 GoodThing(tm) - “服务器page" 模型(php、ASP1 等)早已被证明是失败的 wrt/可维护性。
现在好消息是:Django 的模板系统是可扩展的,因此您可以提供自己的custom template tags and filters,这也是在模板中“嵌入”Python 代码的一种方式。
【讨论】:
【参考方案2】:这就是 Django 的设计方式。你不能要求它没有的功能。如果您发现模板代码对您来说太难了,那么切换到另一个 framework 可能会有所帮助
【讨论】:
【参考方案3】:Python 不是 PHP。你不能这样做,至少使用 Django 的默认模板引擎是这样。此外,您不需要这样做,因为这是故意的。在模板中有一个大逻辑会导致难以管理和丑陋的代码。 Python 代码不属于模板。属于模板的是一些可以从 Django 视图传递给模板的数据。但是,模板包含许多可用于构建 UI 的功能。 Here 是涵盖它的文档。
【讨论】:
以上是关于Django模板中的Python [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在Django的视图功能中访问Django模板中表单中的复选框[关闭]
Python - Google App Engine - Django 模板中的方法