【问题标题】:How to put multiple models on the same page?如何将多个模型放在同一页面上?
【发布时间】:2012-10-22 20:07:53
【问题描述】:
我正在做一个 html 和 base 的网站(所有页面都扩展)我想要
放置一个会话的社交网络图标。由于本次会议是基于
html 它应该显示在网站的所有页面上。
我不想
将此会话放在静态 html 中,我想在 django 中使用
楷模。这已经完成了。
问题:我是否必须将社交网络图标的会话放在每个视图上,还是我可以制作一个单独的视图,而所有其他人都扩展此视图?
我该怎么做?
【问题讨论】:
标签:
django
django-models
django-templates
【解决方案1】:
尝试使用inclusion tag。您可以创建一个函数来完成创建会话的所有工作,然后将其与特定的 HTML 块相关联。
templatetags/session.py
@register.inclusion_tag('includes/session_box.html')
def output_session_box(...):
...
return { .. }
相关的模板文件 includes/session_box.html 会像任何模板一样具有 HTML。
然后你的 base.html 会有:
{% load session %}
{% output_session_box ... %}