这是我的CreateView:
class LampCreateView(CreateView):
model = Lamp
template_name = 'shotmaker/test_cam.html'
success_url = '/shotmaker/'
及其网址:
url(r'^camera/create/$', views.LampCreateView.as_view(), name='lamp_create'),
当我尝试打开URL时,我得到了这个:
ValueError at /shotmaker/camera/create/
invalid literal for int() with base 10: 'create'
当我将pk
传递到网址时:
url(r'^camera/create/(?P<pk>[-\w]+)$', views.LampCreateView.as_view(), name='lamp_create'),
视图打开确定。
如果这是一个CreateView,为什么需要一个pk? pk
不应该存在!
答案 0 :(得分:1)
如果您查看完整的回溯,您应该能够看到它不是引发异常的LampCreateView
。
听起来你在lamp_create
之上有另一个匹配/shotmaker/camera/create/
的网址模式。例如:
url(r'^camera/(?P<pk>[-\w]+)/$', views.OtherView.as_view(), name='other_view')
url(r'^camera/create/(?P<pk>[-\w]+)$', views.LampCreateView.as_view(), name='lamp_create'),
要解决此问题,请将other_view
网址移至lamp_create
网址下方。