如何在Django的CreateView中将ID参数传递给views.py?

时间:2018-01-11 06:17:28

标签: python django django-templates django-views

我正在做一个包含评级(1-5)功能的产品的网络应用程序。我创建了一个名为rating的应用程序,我希望人们点击single.html上的“rate”按钮,它将引导您进入评级页面(form.html),人们将对其进行评级,然后将您重新定向到单一。提交费率后的HTML。





这里的问题是我不知道如何将产品ID传递给views.py中的评级(CreateList)。





到目前为止我已经完成了:





urls.py

&#xA;&#xA; < pre> urlpatterns = [&#xA; url(r'^ product /(?P&lt; product_id&gt; \ d +)/ rating / $',views.RatingView.as_view,name ='rating'),]&# xA; &#xA;&#xA;

models.py

&#xA;&#xA;
  class Rating(models.Model): &#xA;&#xA; RATING_CHOICES =(&#xA;(1,'差'),&#xA;(2,'平均'),&#xA;(3,'好'),&#xA ;(4,'非常好'),&#xA;(5,'优秀')&#xA;)&#xA; productID = models.ForeignKey(Product,on_delete = models.CASCADE)&#xA; indRating = models.IntegerField(choices = RATING_CHOICES)&#xA;&#xA; def __str __(self):&#xA; return self.productID&#xA;  
&#xA;&#xA;

views.py

&#xA;&#xA;
  class RatingView( CreateView):&#xA; model = Rating&#xA; fields = ['productID','indRating']&#xA;&#xA; def get_context_data(self,** kwargs):&#xA; context = super(RatingView,self).get_context_data(** kwargs)&#xA; context ['product_id'] = self.kwargs ['product_id']&#xA;返回上下文&#xA;  
&#xA;

0 个答案:

没有答案