如何根据url更改Django TemplateView中的上下文

时间:2017-04-13 01:24:55

标签: python django

我遇到了一个自动化问题,因为我有一个带有多个子域的django项目,每个局域模型实例一个。我的所有模特都有一个“理事会”的外地。这就是我如何通过为我添加的每个委员会创建一个单独的视图来过滤网站的上下文。

但是,我想以某种方式创建一种方法,以便在每次添加模型实例(Council)时自动添加具有正确过滤上下文的视图类。

此外,我还需要在urlpatterns中添加另一个url,我再次感到难过,也许有点python可以帮助那些但是这些观点是我主要的关注点。

在我的观点中:

class RedmarleyPageView(TemplateView):

template_name = "index.html"

def get_context_data(self, **kwargs):
    council_no = 1
    context = super (RedmarleyPageView, self).get_context_data (**kwargs)
    context['members'] = Member.objects.filter (council=council_no)
    context['roles'] = Role.objects.filter (council=council_no)
    context['minutes'] = Minute.objects.filter (council=council_no)
    context['agendas'] = Agenda.objects.filter (council=council_no)
    context['documents'] = Document.objects.filter (council=council_no)
    context['articles'] = Article.objects.filter (council=council_no)
    context['councils'] = Council.objects.filter (id=council_no)
    context['settings'] = Setting.objects.filter(council=council_no)
    context['events'] = Event.objects.filter(council=council_no)
    context['eventscategories'] = EventCategory.objects.all()
    return context

网址:

url(r'^$', HomePageView.as_view(), name='home'),
url(r'^redmarley/', RedmarleyPageView.as_view(), name='redmarley'),
在这种背景下,Redmarley是理事会。我需要它能够为每个实例创建一个类似于上面的视图和URL。

0 个答案:

没有答案