Django - 使用带参数的命名 URL 时出现 NoReverseMatch 错误
Django - NoReverseMatch Error when using named URL with parameter
我正在尝试使用带参数的命名 URL 构建此 link:
http://127.0.0.1:8000/wakemeup/admin/list/colegio
参数为.../list/
后的字符串(本例为"colegio")。我在 admin_list
视图中有一个 print()
语句,它显示参数已正确提取。但是,当我尝试构建 URL:
<a href="{% url 'wakemeup:admin_list' list_type=colegio %}">Colegios</a>
我收到此错误:
NoReverseMatch at /wakemeup/admin/list/colegio
Reverse for 'admin_list' with keyword arguments '{'list_type': ''}' not found. 1 pattern(s) tried: ['wakemeup/admin/list/(?P<list_type>\w+)$']
Request Method: GET
Request URL: http://127.0.0.1:8000/wakemeup/admin/list/colegio
Django Version: 2.0.1
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'admin_list' with keyword arguments '{'list_type': ''}' not found. 1 pattern(s) tried: ['wakemeup/admin/list/(?P<list_type>\w+)$']
views.py
def admin_list(request, list_type):
print(list_type)
return index(request)
urls.py
url(r'^admin/list/(?P<list_type>\w+)$', views.admin_list, name="admin_list"),
我也试过使用未命名的参数,但没有用。
要确认您的评论后的答案,请记住将您的模板 url kwargs 正确格式化为字符串;
{% url 'wakemeup:admin_list' list_type='colegio' %}
如需进一步阅读有关 URL 的文档,请参见此处; https://docs.djangoproject.com/en/2.0/topics/http/urls/
我正在尝试使用带参数的命名 URL 构建此 link:
http://127.0.0.1:8000/wakemeup/admin/list/colegio
参数为.../list/
后的字符串(本例为"colegio")。我在 admin_list
视图中有一个 print()
语句,它显示参数已正确提取。但是,当我尝试构建 URL:
<a href="{% url 'wakemeup:admin_list' list_type=colegio %}">Colegios</a>
我收到此错误:
NoReverseMatch at /wakemeup/admin/list/colegio
Reverse for 'admin_list' with keyword arguments '{'list_type': ''}' not found. 1 pattern(s) tried: ['wakemeup/admin/list/(?P<list_type>\w+)$']
Request Method: GET
Request URL: http://127.0.0.1:8000/wakemeup/admin/list/colegio
Django Version: 2.0.1
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'admin_list' with keyword arguments '{'list_type': ''}' not found. 1 pattern(s) tried: ['wakemeup/admin/list/(?P<list_type>\w+)$']
views.py
def admin_list(request, list_type):
print(list_type)
return index(request)
urls.py
url(r'^admin/list/(?P<list_type>\w+)$', views.admin_list, name="admin_list"),
我也试过使用未命名的参数,但没有用。
要确认您的评论后的答案,请记住将您的模板 url kwargs 正确格式化为字符串;
{% url 'wakemeup:admin_list' list_type='colegio' %}
如需进一步阅读有关 URL 的文档,请参见此处; https://docs.djangoproject.com/en/2.0/topics/http/urls/