我正在尝试将管道分隔的字符串作为django中我的url中的参数传递,但它无法路由到相应的视图。
这是我的管道分隔字符串:
" main / 1 | adel | 1 | 1989-09-19 | 1 | 1 |测试警报| 2018-03-16-09-26-00 |测试模块| 1 | 1 |测试遇到&# 34;
这是我的网址格式:
from django.conf.urls import url
from django.views.generic import RedirectView
from alerter import views
app_name = 'alerter'
urlpatterns = [
url(r'^main/(?P<message>[a-zA-Z0-9_]+)/$',
views.TheView.as_view({'get': 'view'}), name = 'main'),
]
答案 0 :(得分:1)
对于Unicode(str)模式:
匹配Unicode字符;这包括大多数可以成为任何语言单词的一部分的字符,以及数字和下划线。如果使用
ASCII
标志,则只匹配[a-zA-Z0-9_]
(但标志会影响整个正则表达式,因此在这种情况下使用显式[a-zA-Z0-9_]
可能是更好的选择。)
调整您的模式,例如通过捕获[a-zA-Z0-9_|]
:
url(r'^main/(?P<message>[a-zA-Z0-9_|]+)/$',
views.TheView.as_view({'get': 'view'}), name='main')