【发布时间】:2019-08-08 07:44:10
【问题描述】:
我有这个网址path('user/delete/<int:pk>/', views.UserDeleteView.as_view(), name='delete_user'),
通过传递DeleteView 要访问的用户的pk 来删除选定的用户。但是,我想通过使用带有复选框的表单来删除多个用户。为此,我使用了单独的视图。
我的问题是,有什么方法可以将 <int:pk> 作为可选参数,这样我就可以对 POST 和 GET 请求使用相同的视图。以防万一我想对同一个 URL 使用 POST 方法。这可以做到吗?有人说它可以在 Ruby on Rails 中可选。在 Django 中有没有办法做到这一点?
【问题讨论】:
-
我只允许超级用户。我实际上是在尝试创建 Django 提供的管理界面的副本。
-
这不相关。 HTTP 标准规定 GET 用于检索信息,而不是更改信息:“GET 方法意味着检索任何信息(以实体的形式)由 Request-URI 标识。如果 Request-URI 指的是数据生成过程,则生成的数据应作为响应中的实体返回,而不是过程的源文本,除非该文本碰巧成为进程的输出。" (src: w3.org/Protocols/rfc2616/rfc2616-sec9.html)
-
您能告诉我是否可以将
<int:pk>参数设为可选参数吗?有什么办法吗? @WillemVanOnsem
标签: django django-templates django-views django-urls