Django将多个模型传递给模板
Posted
技术标签:
【中文标题】Django将多个模型传递给模板【英文标题】:Django passing multiple models to a template 【发布时间】:2016-11-17 22:32:51 【问题描述】:我是第一次开发 Django 应用程序。如何将多个模型传递给模板
views.py
from django.views.generic import ListView, DetailView
from django.utils import timezone
from LastAlly.models import Article, Episode
class IndexView(ListView):
queryset = Article.objects.all().order_by("-date")[:3]
template_name = 'index.html'
urls.py
from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import ListView, DetailView
from LastAlly.views import IndexView
urlpatterns = [
url(r'^$', IndexView.as_view(), ),
]
【问题讨论】:
“将多个模型传递给模板”是什么意思? 我需要使用 Episode 模型来索引模板。 【参考方案1】:您可以编辑视图的方法,在这种情况下您可以编辑.get_context_data()
方法:
class IndexView(ListView):
queryset = Article.objects.all().order_by("-date")[:3]
template_name = 'index.html'
def get_context_data(self, *args, **kwargs):
context = super(IndexView, self).get_context_data(*args, **kwargs)
context['episode_objects'] = Episode.objects.....
return context
然后在您的模板中将有一个带有情节模型对象的 episode_objects
变量。
【讨论】:
这就是我想要的。谢谢! @Crownstyle 如果您觉得这很有帮助,请考虑接受此答案以帮助遇到同样问题的其他人。以上是关于Django将多个模型传递给模板的主要内容,如果未能解决你的问题,请参考以下文章
django - 将参数从模板传递到 models.py 的函数