Шаблон рендеринга Django из переменных модели - PullRequest
1 голос
/ 22 июня 2019

У меня есть модель:

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 [...]

В шаблоне:

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

Отображается

Il Paziente {{ member.cognome }} {{ member.nome }} abitante [...]

Ожидаемое:

Il Paziente Smith John abitante [...]

1 Ответ

0 голосов
/ 22 июня 2019

Вы можете определить функцию в вашей модели для правильного рендеринга, например:

from django.template import <b>Template</b>, <b>Context</b>

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 <b>render_content</b>(self):
        return Template(self.contuento).render(Context({'member': self}))

В вашем шаблоне вы можете сделать это с помощью:

{% autoescape off %}
{{ member.<b>render_content</b> }}
{% endautoescape %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...