如何在ModelField中传递上下文变量?

时间:2016-01-26 08:54:22

标签: django django-templates

我正在使用Django 1.8。

我想使用带有内部上下文变量的CharField。

例如,

in models.py
...
  content = models.CharField(max_length=200)
...
模板中的

...
  {{ model_instance.content }}
...

html中的输出:

...
The content of a context variable is {{ request.variable }}
...

但我想得到:

...
The content of a context variable is test-test-test
...

我怎样才能适应它?我使用{{ model_instance.content|safe }},但没有效果。

1 个答案:

答案 0 :(得分:3)

一个简单的模板标签就可以了:

yourapp / templatetags / yourapp_tags.py

from django.template import Template

@register.simple_tag(takes_context=True)
def render(context, content):
    return Template(content).render(context)

yourapp /模板/ template.html

{% load yourapp_tags %}
{% render model_instance.content %}

只需确保您的内容字段对普通网站用户不可写,因为它会带来安全风险。