Django python正则表达式在URL中包含美元符号
我有一个Django 1.5应用程序,其中一个特定的URL用于生成代码128条形码。我为这个URL编写了一个正则表达式,如下所示Django python正则表达式在URL中包含美元符号,python,django,django-urls,Python,Django,Django Urls,我有一个Django 1.5应用程序,其中一个特定的URL用于生成代码128条形码。我为这个URL编写了一个正则表达式,如下所示 ... url(r'^code/(?P<barcode>[.a-zA-Z0-9_-]+)/$', CreateBarcode.as_view(), name='create_barcode'), ... 我最近遇到了一个问题,我必须为包含美元符号$的值生成条形码。我试过下面的正则表达式,但没有成功 url(r'^code/(?P<code>[
...
url(r'^code/(?P<barcode>[.a-zA-Z0-9_-]+)/$', CreateBarcode.as_view(), name='create_barcode'),
...
我最近遇到了一个问题,我必须为包含美元符号$
的值生成条形码。我试过下面的正则表达式,但没有成功
url(r'^code/(?P<code>[$.a-zA-Z0-9_-]+)/$', ....),
url(r'^code/(?P<code>[\$.a-zA-Z0-9_-]+)/$', ....),
url(r'^code/(?P<code>[.a-zA-Z0-9_-][$]+)/$', ....),
url(r'^code/(?P<code>[.a-zA-Z0-9_-\$]+)/$', ....),
所有这些都返回404响应,因为URL模式无法匹配。让我知道是否有任何方法可以实现此功能?我建议您使用模块来解决问题,而不是使用正则表达式模式
from django.urls import path
urlpatterns = [
path('code/<str:barcode>/', CreateBarcode.as_view(), name='create_barcode'),
]
从django.url导入路径
URL模式=[
路径('code/',CreateBarcode.as_view(),name='create_barcode'),
]
path
模块仅支持django>=2.0
我提到的第二个正则表达式模式实际上是有效的。问题是,当我更新代码时,服务器没有接收到更改
url(r'^code/(?P<code>[\$.a-zA-Z0-9_-]+)/$', ....),
谢谢@binpy和@Sumithran
[\$.a-zA-Z0-9\-]
这应该行得通。。
url(r'^code/(?P<code>[\$.a-zA-Z0-9_-]+)/$', ....),