python - Django 如何在 GCBV 中使用 url pk 值(通用类库视图)
问题描述
我正在设计通用类基视图,我想在其中使用 URL 模式中的 pk (主键)值我该怎么做?
我已经尝试使用两个参数(请求,pk)查看基本解决方案。但是如何使用gcbv
post 方法完成。
Django URL 模式
网址.py
url(r'^(?P<pk>[0-9]+)/add_product/$', views.AddProduct.as_view(), name='add_product')
视图.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 中
解决方案
它在 kwargs 里面
pk = self.kwargs['pk']
推荐阅读
- kotlin - Ktor 中带有 KeyCloak 的 OAuth:它应该像这样工作吗?
- java - Splitting Strings in java without removing the match
- .net - 将文件编译到库中并访问它,但不能作为资源
- xml - Apply-Template 仅适用于 ID 基于父子节点列表的节点
- winapi - 如何捕获菜单栏的激活?
- firebase - google_sign_in 包中的 getServerAuthToken 返回 null
- php - 如何在 Windows 中通过 PHP 运行后台进程?
- okhttp - 如何重现 OkHttp 的错误
- git - 如何使用 Git 将文件添加到现有的 Github 存储库?
- python - Python Pandas - 在特定行上添加列,将特定行从一个数据帧添加到另一个