Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django如何在GCBV内使用url pk值(通用类库视图)_Python_Django - Fatal编程技术网

Python Django如何在GCBV内使用url pk值(通用类库视图)

Python Django如何在GCBV内使用url pk值(通用类库视图),python,django,Python,Django,我正在设计一个通用的基类视图,在这个视图中我想使用URL模式中pk(主键)的值。我该怎么做 我尝试过使用两个参数(request,pk)查看基本解决方案。但是如何使用gcbvpost方法来实现呢 Django URL模式 url.py url(r'^(?P<pk>[0-9]+)/add_product/$', views.AddProduct.as_view(), name='add_product') class AddProduct (LoginRequiredMixin, C

我正在设计一个通用的基类视图,在这个视图中我想使用URL模式中pk(主键)的值。我该怎么做

我尝试过使用两个参数(request,pk)查看基本解决方案。但是如何使用
gcbv
post方法来实现呢

Django URL模式

url.py

url(r'^(?P<pk>[0-9]+)/add_product/$', views.AddProduct.as_view(), name='add_product')
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值存储在变量pk中,该变量在AddProduct中声明,它在kwargs中

 pk = self.kwargs['pk']

嗨,还有一个问题,你怎么知道是kwargs?