Python 来自模型变量的Django渲染模板

Python 来自模型变量的Django渲染模板,python,django,templates,Python,Django,Templates,我有一个模型: class DocumentoPaziente(models.Model): nome = models.CharField(null=True, blank=True, max_length=50) cognome = models.CharField(null=True, blank=True, max_length=50) contenuto = models.CharField(null=True, blank=True, max_length=1

我有一个模型:

class DocumentoPaziente(models.Model):
    nome = models.CharField(null=True, blank=True, max_length=50)
    cognome = models.CharField(null=True, blank=True, max_length=50)
    contenuto = models.CharField(null=True, blank=True, max_length=100000)
可变内容:

Il Paziente <font color="#000000"><font face="Arial, serif"><font size="3" style="font-size: 12pt"><span lang="zxx"><b>{{ member.cognome }}
{{ member.nome }}</b></span></font><font color="#000000"><font face="Arial, serif"><font size="3" style="font-size: 12pt"><span lang="zxx">
abitante [...]
它使

Il Paziente {{ member.cognome }} {{ member.nome }} abitante [...]
预期:

Il Paziente Smith John abitante [...]

您可以在模型中定义一个函数来正确进行渲染,如:

from django.template import Template, Context

class DocumentoPaziente(models.Model):
    nome = models.CharField(null=True, blank=True, max_length=50)
    cognome = models.CharField(null=True, blank=True, max_length=50)
    contenuto = models.CharField(null=True, blank=True, max_length=100000)

    def render_content(self):
        return Template(self.contuento).render(Context({'member': self}))
从django.template导入模板,上下文
类DocumentoPaziente(models.Model):
nome=models.CharField(null=True,blank=True,max_length=50)
cognome=models.CharField(null=True,blank=True,max_length=50)
contenuto=models.CharField(null=True,blank=True,max_length=100000)
def渲染_内容(自身):
返回模板(self.contuento).render(上下文({'member':self}))
然后,在模板中,可以使用以下方法渲染:

{% autoescape off %}
{{ member.render_content }}
{% endautoescape %}
{%autoescape off%}
{{member.render_content}

{%endautoescape%}
在这里如何调用渲染过程?使用您的方法它会忽略变量。现在呈现:“Il Paziente abitante”@JuConte:最初有一个输入错误,应该是
{'member':self}
,而不是
{'member':self}
。但是可以(或者至少在不引入额外模板标记的情况下)重新渲染渲染的输出。我认为那将是糟糕的软件设计。``def render_content(self):返回模板(self.contentuto).render(Context({'member':self}))def render_name(self):返回模板(self.nome).render(Context({'member':self})``它工作,每个变量一个def
{% autoescape off %}
{{ member.render_content }}
{% endautoescape %}