【问题标题】:Django - NoReverseMatch Error when using named URL with parameterDjango - 使用带参数的命名 URL 时出现 NoReverseMatch 错误
【发布时间】:2018-11-28 22:12:54
【问题描述】:

我正在尝试使用带有参数的命名 URL 构建此链接:

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 'wakemeup:admin_list' list_type='colegio' %}
  • 新秀丽!我走得很远......我知道它以 S 开头。非常感谢,解决了它:)

标签: django urlconf


【解决方案1】:

要在您的评论后确认答案,请记住将您的模板 url kwargs 正确格式化为字符串;

{% url 'wakemeup:admin_list' list_type='colegio' %}

要进一步阅读有关 URL 的文档,请点击此处; https://docs.djangoproject.com/en/2.0/topics/http/urls/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 2021-08-24
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    相关资源
    最近更新 更多