gpt4 book ai didi

html - 如何在模型 TextField 中使用 HTML 中的 Django 模板变量?

转载 作者:可可西里 更新时间:2023-11-01 13:21:47 26 4
gpt4 key购买 nike

我想以编程方式生成外部 url,而不是在 HTML 中对它们进行硬编码,以防它们中的任何一个在某个时候发生变化

在我的模板中有这个。

<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 的链接如果我将它直接包含在模板中,但如果它在模型 TextField 中,则链接转到“http://127.0.0.1:8000/articles/pk/” {{ external_urls.stack_overflow }}'。

如何在 TextField HTML 中转义模板变量?

最佳答案

试试

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'] = 'https://stackoverflow.com'
return context

并且在您的模板中只需放置{{external_urls}},如果您想要创建多个 url,您可以使用列表或字典,字典示例如下:

context['external_urls'] = ['url1':'https://stackoverflow.com', 'url2':'https://facebook.com']

在你的模板中:

{{external_urls.url1}} #return stackoverflow.com

关于html - 如何在模型 TextField 中使用 HTML 中的 Django 模板变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com