如何设置只接受 3 个特定单词的 Django URL 正则表达式?
Posted
技术标签:
【中文标题】如何设置只接受 3 个特定单词的 Django URL 正则表达式?【英文标题】:How to set up a Django URL regex that accepts only 3 specific words? 【发布时间】:2016-01-14 06:22:42 【问题描述】:我的 urls.py 现在设置如下:
urlpatterns = [
url(r'^(?P<content_type_name>[a-zA-z-_]+)$', views.content_type, name = 'content_type'),
]
这使得这个 url 将接受任何由 - 或 _ 或两者分隔的单词或单词字符串。但是,我想要一个正则表达式,它只接受 content_type_name 参数的三个单词之一 - 'comics'、'articles'、'videos'。
如何设置?
【问题讨论】:
【参考方案1】:以下应该做:
urlpatterns = [
url(r'^(?P<content_type_name>comics|articles|videos)$', views.content_type, name='content_type'),
]
【讨论】:
对于 django 2+ 使用re_path
而不是 url
。以上是关于如何设置只接受 3 个特定单词的 Django URL 正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章