2012-05-01 20 views
6

Sayfamda, yayıncıya yorum göndermesi için görüntü ayrıntılarını ve yorum formunu görüntülemem gerekiyor. Ben yorum için yayının kimliği belirtilmeyen beriDjango - Sınıf tabanlı FormView'de bağımsız değişken argümanı

# views.py 
class PostDetailView (DetailView): 
    model = Post 
    context_object_name = 'post' 
    template_name = 'post.html' 

    def get_context_data(self, **kwargs): 
    context = super(PostDetailView, self).get_context_data(**kwargs) 
    context['comment_form'] = CommentForm() 
    return context 

class AddCommentView(FormView): 
    template_name = 'post.html' 
    form_class = CommentForm 
    success_url = '/' 

    def form_valid(self, form): 
    form.save() 
    return super(AddCommentView, self).form_valid(form) 

    def form_invalid(self, form): 
    return self.render_to_response(self.get_context_data(form=form)) 

detail = PostDetailView.as_view() 
add_comment = AddCommentView.as_view() 


# urls.py 
.... 
url(r'^(?P<pk>\d+)/$', view='detail'), 
url(r'^(?P<post_id>\d+)/add_comment/$', view='add_comment'), 

.... 

Hata, AddCommentView içinde oluşacak: Ben 2 jenerik görüşlerini yarattı. AddCommentView'daki post_id öğesine nasıl erişebilirim?

cevap

18

self.kwargs['post_id'] veya self.args[0] o değerini

Docs

+2

müthiş içeriyor !!! çok teşekkür ederim –

+0

Hoş Geldiniz! Daha fazla sorunuz varsa lütfen sorunuz. Yararlı bulursanız da bunu kabul edebilirsiniz – San4ez

+0

Teşekkür ederiz! Dokümanlara bağlantı çalışmıyor, mevcut devde böyle bir bölüm yok. Çalışma bağlantısına sahip en yeni doc sürümü 1.4: https://docs.djangoproject.com/en/1.4/topics/class-based-views/#dynamic-filtering –