2014-01-17 123 views
0

我在views.py类似的东西:如何在Django中获取url变量?

class CommentMixin(object): 
    def get_context_data(self, **kwargs): 
     context = super(MenuMixin, self).get_context_data(**kwargs) 
     context['comments'] = Comments.objects.filter(post=xxxxxxxxxxxxx).order_by('-pub_date') 
     return context 
... 

class PostDetailView(CommentMixin, generic.DetailView): 
    model = models.Post 

PostDetail = PostDetailView.as_view() 
PostList = PostList.as_view() 

comment.html片段:

{% for comment in comments %} 
    <article class="uk-comment"> 
    <header class="uk-comment-header"> 
     <img class="uk-comment-avatar" src="{%gravatar_url comment.email%}" alt="Avatar"> 
     <h4 class="uk-comment-title">{{comment.author}}</h4> 
     <div class="uk-comment-meta">Dodano dnia {{comment.pub_date}}</div> 
    </header> 
    <div class="uk-comment-body">{{comment.content}}</div> 
</article> 

片段的urls.py

url(r'^post/(?P<slug>[\w\-_]+)/$', 'page.views.PostDetail', name='post-detail'), 

我想后更换xxxxxxxxxxxxx在该页面上。 URL格式正在寻找这样的:

http://localhost:8000/post/my-post-name/ 
+0

你可以做'self.request.POST' – karthikr

+0

什么是urls.py入门? –

回答

0

DetailView专卖店在self.object对象。
而在get_context_data您可以在过滤器中使用它:

context['comments'] = Comments.objects.filter(post=self.object).order_by('-pub_date')