【问题标题】:Django Create View URL conflicts with Single View URLDjango Create View URL 与 Single View URL 冲突
【发布时间】:2022-01-10 18:51:53
【问题描述】:

我的 url.py 文件如下。

urlpatterns = [
path('', views.loans, name='loans'),
path('loans/<str:pk>/', views.loan, name='loan'),
path('loans/create/', views.create_loan, name='create-loan'),
]

每当我尝试访问 loans/create 路由时,Django 都会抛出以下异常。

ValidationError at /loans/create/
['“create” is not a valid UUID.']

看起来 Django 正在将 'create' 传递给 'loans//'

我该如何解决这个问题?

提前致谢。

【问题讨论】:

    标签: python django


    【解决方案1】:

    按顺序迭代 URL 模式并返回第一个匹配项,loan url 中的 pk 参数将始终匹配字符串“create”。您需要交换它们以便首先测试创建 url

    urlpatterns = [
        path('', views.loans, name='loans'),
        path('loans/create/', views.create_loan, name='create-loan'),
        path('loans/<str:pk>/', views.loan, name='loan'),
    ]
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2020-07-09
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 2021-03-09
      • 2016-04-11
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多