2011-12-17 28 views
0

我很難過這個包裹。如何將request.slug添加到泛型類視圖?

我有一個視圖,通過一個標籤來表示我的項目。當我顯示模板時,我想將該標籤包含在我的模板中,以便我可以這樣做:「{{tag.name}}中的內容。但是我很難看清我的方式。理解

這是我的觀點:。

class TagDetail(ListView): 
    """ Get all projects for a tag """ 

    template_name = "projects/TagDetail.html" 

    def get_queryset(self): 
     tags = get_list_or_404(Project, tags__slug=self.kwargs['slug'], displayed=True) 
     return tags 

    @method_decorator(login_required) 
    def dispatch(self, *args, **kwargs): 
     return super(TagDetail, self).dispatch(*args, **kwargs) 

回答

2

如果你需要在模板方面的東西,然後考慮修改上下文

https://docs.djangoproject.com/en/dev/ref/class-based-views/#django.views.generic.base.TemplateView.get_context_data

請注意,你不實際訪問一個標籤對象,所以你必須查詢你的標籤。

def get_context_data(self, *args, **kwargs): 
    ctx = super(MyView, self).get_context_data(*args, **kwargs) 
    ctx['slug'] = self.kwargs['slug'] # or Tag.objects.get(slug=...) 
    return ctx 

<!-- template --> 
The slug is: {{ slug }} 
+0

This Works!但我想確保我明白髮生了什麼。 – 2011-12-19 04:26:59