2012-05-01 13 views
6

में तर्क पकड़ें, मेरे पृष्ठ पर, मुझे टिप्पणी पोस्ट करने के लिए दर्शक के लिए पोस्ट विवरण और टिप्पणी फ़ॉर्म प्रदर्शित करने की आवश्यकता है। के बाद से मैं टिप्पणी के लिए पोस्ट की आईडी निर्दिष्ट नहीं किया हैDjango - क्लास आधारित फॉर्म व्यू

# 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'), 

.... 

त्रुटि, AddCommentView में घटित होता: मैं 2 सामान्य विचारों बनाया। मैं AddCommentView में post_id तक कैसे पहुंच सकता हूं?

उत्तर

18

self.kwargs['post_id'] या self.args[0] कि मूल्य

Docs

+2

भयानक होता है !!! बहुत बहुत धन्यवाद –

+0

आपका स्वागत है! यदि आपके पास और प्रश्न हैं तो कृपया पूछें। यदि उपयोगी – San4ez

+0

उपयोगी लगता है तो आप इसे स्वीकार भी कर सकते हैं! दस्तावेज़ों का लिंक काम नहीं करता है, वर्तमान देव में ऐसा कोई अनुभाग नहीं है। काम करने वाले लिंक के साथ नवीनतम दस्तावेज़ संस्करण 1.4 है: https://docs.djangoproject.com/en/1.4/topics/class-based-views/#dynamic-filtering –

संबंधित मुद्दे