我想在我的模型内容中使用url模板标记。
示例:
模特内容:
Car.description = 'this is a link to our main page: <a href="{url home}">home</a>'
template.html中的:
<div>{{ Car.description }}</div>
结果
<div>this is a link to our main page: <a href="/">home</a>
是可能的,还是我必须编写自己的模板标签?
提前谢谢 罗马答案 0 :(得分:1)
假设你有这个:
car.description = 'this is a link to our main page: <a href="{{ url }}">home</a>'
你可以这样做:
from django.template import Context, Template
from django.core.urlresolvers import reverse
class Car(models.Model):
def description_with_url(self):
return Template(self.description).render({'url': reverse('home')})
或在自定义模板标记中使用相同的逻辑而不是方法..
答案 1 :(得分:0)
我无法弄清楚为什么你需要那样做。假设我完全理解你的问题,你试图在模型的字段中存储一些东西,然后在渲染时表现为“动态”。
存储网址的模型字段内容应包含网址,并且只能使用URLField
包含网址。
否则,如果您是从其他地方动态构建URL,只需使用模板标记,即url
模板标记,因为它是要使用的;它还可以根据特定的URL模式获取参数。即url
标记旨在用于模板的上下文中。
如果您更新问题以描述您要实现的目标,请告诉我。但是,在数据级别存储“行为”只是简单地远离。