0

我喜欢在我的模型内容中使用 url 模板标签。

例子:

模型内容:

Car.description = 'this is a link to our main page: <a href="{url home}">home</a>'

在模板.html 中:

<div>{{ Car.description }}</div>

结果

<div>this is a link to our main page: <a href="/">home</a>

有可能吗,还是我必须编写自己的模板标签?

在此先感谢罗马

4

2 回答 2

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')})

或在自定义模板标签中使用相同的逻辑而不是方法..

于 2013-09-07T13:02:23.600 回答
0

我不明白你为什么需要这样做。假设我完全理解您的问题,您正试图在模型的字段中存储一些东西,然后在渲染时表现“动态”。

存储 URL 的模型字段的内容应包含一个 URL,并且只包含一个 URL,使用URLField.

否则,如果您是从其他地方动态构建 URL,只需使用模板标记,即url模板标记,因为它打算使用;它还可以根据特定的 URL 模式采用参数。即url标签是用来在模板的上下文中使用的。

如果您更新问题以描述您想要实现的目标,请告诉我。但是在数据级别存储“行为”是一件简单的事情。

于 2013-09-07T12:39:04.227 回答