Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django python正则表达式在URL中包含美元符号_Python_Django_Django Urls - Fatal编程技术网

Django python正则表达式在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>[

我有一个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>[$.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_-]+)/$', ....),