Django公司网址.py错误的两个关闭的URL

2024-09-30 06:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在向我的应用程序添加表单以修改我的lobby(我的自定义模型)。你知道吗

网址.py,这是我的urlpattern:

urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^lobbys/$', views.LobbyListView.as_view(), name='lobbys'),
url(r'^lobby/(?P<pk>[\w-]+)/$', views.LobbyDetailView.as_view(), name='lobby-detail'),
url(r'^lobby/create/$', views.LobbyCreate.as_view(), name='lobby_create'),
url(r'^lobby/(?P<pk>\d+)/update/$', views.LobbyUpdate.as_view(), name='lobby_update'),
url(r'^lobby/(?P<pk>\d+)/delete/$', views.LobbyDelete.as_view(), name='lobby_delete'),
]

问题如下:

第三个url应该链接到一个大厅模板,该模板以UUID字段作为主键。没有最后三行,一切都很好,但是当我为表单添加了三个url时,我得到了一个错误

Exception Value: ["'create' is not a valid UUID."]

我明白网址.py将“create”作为主键,而不是将其视为指向其他视图的URL。你知道吗

我怎样才能绕过这个问题? 非常感谢你。你知道吗


Tags: namepyviewurl表单indexascreate
1条回答
网友
1楼 · 发布于 2024-09-30 06:33:47

您需要更改url模式的顺序

url(r'^lobby/create/$', views.LobbyCreate.as_view(), name='lobby_create'),
url(r'^lobby/(?P<pk>[\w-]+)/$', views.LobbyDetailView.as_view(), name='lobby-detail'),

问题是,因为lobby-detail正在寻找alphanum模式,所以它也匹配lobby/create模式。regex模式中的顺序很重要,因此lobby_create永远不会匹配。通过改变顺序,问题将得到解决

相关问题 更多 >

    热门问题