python - 在 Django 模型中存储和转义 Django 标签和过滤器

标签 python django django-templates

我正在将内容从我的模型输出到我的模板,但是一些模型字段调用存储在其他模型中的数据。这只发生在少数领域。我想知道与将 django 标签存储在模型中相比,使用 if 标签来评估它是否更有效。

this question 的答案说在模型中存储 django 标签是一个坏主意而没有给出理由(尽管我认为原因之一可能是其他人可能会在数据库中注入(inject)一些标签)。假设数据库注入(inject)很少见,是否有一种方法可以转义存储在模型中的 Django 标记和过滤器。

或者更好的是,处理上述情况的最有效方法是什么,其中多个字段中的一个模型字段调用存储在另一个模型中的字段。

示例:

这应该存储在我的模型中

<p>We focus on:</p>
{% for item in services %}
{% url service_view item.id as service_url %}
<ul>
<li><a href="service_url">{{item.title}}</a></li>
</ul>
{% endfor %}

输出它应该导致 django 像模板的一部分一样解析相关的 django 标签

最佳答案

谢谢 Ned,我尝试实现它,但我发现它非常复杂,而且在可移植性方面也有缺点。

但是,我在 Django Snippets 找到了我需要的东西(不知道为什么我没有先看那里)。它是一个非常有用的实用程序,称为 render_as_template .

将其设置为自定义标签后,我需要做的就是以 {% render_as_template about_view.content %} 的形式使用它,模型中的标签被渲染为模型。

关于创建您自己的自定义模板和标签的说明 available here

关于python - 在 Django 模型中存储和转义 Django 标签和过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3594909/

相关文章:

python - 用 Python 编写手动 pop 函数

python - 如何将虚拟环境从服务器复制/克隆到本地计算机

django - Komodo Edit 5.2 Django 模板语法错误 - 信息 : <head> previously mentioned

python - 使用 xlsxwriter python 进行字符串验证

python - 不规则的表达

python - 使用 Django 通过 gmail 发送电子邮件时出现 ConnectionRefusedError

python - 在 Django 模板中的元组列表的第一个元素中访问元组的第三项

python - Django 2 : TemplateDoesNotExist even if files placed properly

Python - Mechanize - 如何知道它是否有效?

sql - 如何提供测试 Django 应用程序所需的 SQL 函数和 View