0
我在许多不同的模板和表格中使用相同的模型。我正在寻找一种方法来告诉Django如何在模板中渲染这些对象,所以我不必一次又一次地写出相同的html
。Django模型 - html /渲染属性?
例如模型的网址 - 当我想以显示它的模板或表格内,我必须写(有时更多):
<a href="{{ url.url }}">{{ url.site.name }}</a>
这使得:
<a href="http://stackoverflow.com/questions/ask">Stackoverflow.com</a>
会如果我可以做的更好,如果我可以做这样的事情:
{{ url }} # url is Url model object
我认为我可以添加像def render_object(self)
这样的:
def render_object(self):
return mark_safe("""<a href="{}">{}</a>""".format(self.url,self.site.name))
和模板:
{{ url.render_object }}
,但我很好奇,如果它是有一些内置的功能。据我所知__unicode__(self)
会做的工作,但它会混乱管理员和外壳显示名称。
您是否检查过https://docs.djangoproject.com/zh/1.10/howto/custom-template-tags/? – itzMEonTV