我想以編程方式生成外部URL,而不是在HTML中對它們進行硬編碼,以防其中任何一個應該在某處進行更改如何在模型TextField中的HTML中使用Django模板變量?
在我的模板中,我有這個。
<p>
{{ article.text|safe }}
</p>
我的文章類是這樣的。
class Article(models.Model):
title = models.CharField(max_length=200)
teaser = models.TextField(default = "")
text = models.TextField()
category = models.CharField(max_length=100)
image_name = models.CharField(default = "", max_length=100)
published_date = models.DateField(blank=True, null=True)
我的View類是這樣的。
class Article_Page(TemplateView):
model = Article
template_name="articles/article.html"
def get_context_data(self, **kwargs):
context = super(Article_Page,self).get_context_data(**kwargs)
context['article'] = Article.objects.get(pk=kwargs['pk'])
context['external_urls'] = External_Urls()
return context
class External_Urls(object):
stack_overflow = 'https://stackoverflow.com'
而在我的TextField模型中,我有這個。
<a href="{{ external_urls.stack_overflow }}>Stack Overflow</a>
HTML的那行給出了一個鏈接到https://stackoverflow.com,如果我直接包括在模板中,但如果是在模型文本字段的鏈接進入「http://127.0.0.1:8000/articles/pk/ {{external_urls.stack_overflow}}」。
如何在TextField HTML中轉義模板變量?
你必須在HTML中引用屬性:'href =「{{external_urls.stack_overflow}}」'。請先修復,然後更新你的問題:) – spectras
它不會工作任何方式模板引擎會渲染裏面的變量引號 –
我不知道你想在這裏做什麼。你有django模板代碼保存在模型的'text'字段嗎?如果要插入正確的鏈接,則必須對文本字段的內容進行模板呈現。 –