URL django 中的模式以匹配有限的单词集

URL pattern in django to match limited set of words

我在 Django 中有一个 URL 模式,其中有一个变量(称为 name),它应该只采用 select 单词列表中的一个。像这样:

path("profile/<marta|jose|felipe|manuela:name>/", views.profile),

所以基本上只有这些路径有效:

我该如何在 Django url 模式中配置它?上面的语法试图说明这个想法但不起作用。我见过 this ten year old question 但它使用了 url 模式文件中以前的格式,所以我想现在应该以不同的方式完成...?

为什么不让它们可见?

from django.http import Http404

def profiles(request, name):
    if not name in ['marta', 'jose', 'felipe', 'manuela']:
        raise Http404('You shall not pass!')

你可以简单地使用re_path:

urlpatterns = [
    re_path(r'^profile/(?P<name>marta|jose|felipe|manuela)/$', views.index, name='index'),
]