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"