使URL接受可选参数。非捕获

2024-05-19 01:18:05 发布

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

我想让我的url只接受给定的可选参数。我无法将参数设置为可选/非捕获。你知道吗


re_path(r'^users/(?:(?P<sort_by>\d+)/)?$', views.UserListView.as_view(), name='user_list'),

我希望此url仅在提供给视图时才接受slug字段。我该怎么做? 它显示了一个错误

Reverse for 'user_list' with keyword arguments '{'sort_by': 'username'}' not found. 1 pattern(s) tried: ['admin/users/(?:(?P<sort_by>\\d+)/)?$']

当我通过sort\u by='username'


Tags: pathreviewurl参数byasusername
2条回答

我将创建2个URL:

path('users/<str:sort_by>', views.UserListView.as_view(), name='user_list_by_user'),
path('users', views.UserListView.as_view(), {'sort_by': 'default_sort_you_use'}, name='user_list'),

然后您可以调用适当的URL,并在视图中始终具有sort_by值。你知道吗

您可以将url保存到:

re_path(r'^users/$', views.UserListView.as_view(), name='user_list'),

然后在模板中使用

   <a href="{% url 'user_list' %}?sort_by=username">Sort</a>

相关问题 更多 >

    热门问题