所以我在Django中创建一个应用程序。我在应用程序的其他部分传递了1个参数,但是在添加两个时我觉得我的正则表达式错了。
这是url.py的一部分:
url(r'^(?P<uuid>(\d+))/(?P<malware>(\d+))/$', views.execute, name='execute'),
这是html文件:
<li><a tabindex="-1" href="{% url 'execute' malware=malware uuid=uuid %}"> {{ vm }}</a></li>
这是错误:
Reverse for 'execute' with keyword arguments '{'uuid': '2932b679-787a-48e0-a4f7-be020b8e4734', 'malware': 'calc.exe'}' not found. 1 pattern(s) tried: ['(?P<uuid>(\\d+))/(?P<malware>(\\d+))/$']
我假设这个错误是由正则表达式引起的。非常感谢任何帮助。
编辑:
这是固定的 - 使用以下字符串
url(r'^(?P<uuid>([0-9\-a-f]+))/(?P<malware>[a-z.]+)/$', views.execute, name='execute'), is the working string, perfect5th you've been an absolute kingpin here, thanks! – dipl0 8 hours ago
答案 0 :(得分:1)
您正在查找\d+
(所有数字)的恶意软件值,但传入值'calc.exe'
。尝试更改正则表达式模式以匹配所有预期值。也许[a-z.]+
?
同样,您的<uuid>
模式应该更像[0-9\-a-f]+
。