我正在设计通用类基础视图,我想在其中使用URL模式中pk(主键)的值怎么办?
我尝试使用两个参数(请求,pk)来查看视图基础解决方案。但是如何使用gcbv
post方法来完成。
Django URL模式
urls.py
url(r'^(?P<pk>[0-9]+)/add_product/$', views.AddProduct.as_view(), name='add_product')
views.py
class AddProduct (LoginRequiredMixin, CreateView):
login_url = '/login_user'
redirect_field_name = 'redirect_to'
model = Product
template_name = 'shopsurfer/add_product.html'
fields = ['name', 'category', 'lot', 'specs', 'price', 'product_logo']
def form_valid(self, form):
object = form.save(commit=False)
pk = ***here want pk from url***
object.shop = get_object_or_404(Shop, pk=pk)
object.save()
return super(AddProduct, self).form_valid(form)
我想将pk值存储在AddProduct中声明的变量PK中
答案 0 :(得分:1)
它在矮人之内
pk = self.kwargs['pk']