Python 我可以为Django中的路径转换器指定自定义名称吗?
我想为我的Python 我可以为Django中的路径转换器指定自定义名称吗?,python,django,Python,Django,我想为我的urlpatterns中的slug路径转换器指定自定义名称 现在看起来是这样的: urlpatterns = [ ... path( route="<slug:category>/", view=views.Category.as_view(), name="shop_category" ), ... ] urlpatterns=[ ... 路径( route=“/”, 视图=视图.Categ
urlpatterns
中的slug
路径转换器指定自定义名称
现在看起来是这样的:
urlpatterns = [
...
path(
route="<slug:category>/",
view=views.Category.as_view(),
name="shop_category"
),
...
]
urlpatterns=[
...
路径(
route=“/”,
视图=视图.Category.as_view(),
name=“店铺类别”
),
...
]
在这个视图中,我使用的是DetailListView
。slug只包含ASCII字符,但无论如何它不允许我进入。使用传递的值进行一些操作后,我从get
返回returnsuper().get(请求,*args,**kwargs)
行
然后它给了我一个错误:
AttributeError:必须在URLconf中使用对象pk或slug调用通用详细视图类别
但如果我将urlpatterns
中的category
名称更改为slug
,错误就会消失。
现在,问题是:我可以为Django中的路径转换器指定自定义名称吗?您可以使用视图类中的属性定义自定义名称:
class Category(DetailView):
slug_url_kwarg = "category"
可以使用视图类中的属性定义自定义名称:
class Category(DetailView):
slug_url_kwarg = "category"