NoReverseMatch 与 Django 网址

Posted

技术标签:

【中文标题】NoReverseMatch 与 Django 网址【英文标题】:NoReverseMatch with Django urls 【发布时间】:2018-09-23 22:14:09 【问题描述】:

我有一个带有异常值的"NoReverseMatch at ∕ " 接收:

Reverse for 'listEvents' with keyword arguments ''values': ''' not found. 1 pattern(s) tried: ['events/events\\/(?P<values>[^/]+)\\/$']

奇怪的是我不认识这部分:events/events\\/(?P&lt;values&gt;[^/]+)\\/$

我的 JS 代码:

var categories ="% url 'events:listEvents' values=string %";

string 是一个 SQL 查询。

这是我的网址

  path('events/<str:values>/', views.showRequestedEvents, name='listEvents')

这是我的观点

def showRequestedEvents(request, values):
    events = serialize('geojson', Event.objects.raw(values))
    return HttpResponse(events, content_type='json')

我知道这是非常基本的,我看到类似的问题被问了很多,但是即使搜索了大约 2 小时我也没有弄明白,所以帮助!

请...

【问题讨论】:

'values': '' 告诉您 values 未在模板上下文中设置。 ``NoReverseMatch at /` 告诉你这是导致问题的/ 的索引视图。 为了进一步帮助您,我们可能需要查看您的 urls.py 和错误的完整堆栈跟踪,以及您尝试访问的 URL 这不是你的观点。相关视图必须呈现该标记所在的模板。 【参考方案1】:

我把它“修复”了。看起来 python 或 django 不喜欢 javascript 变量,所以我不能直接把它放到 url 中,但必须像这样使用替换:

var categories ="% url 'events:listEvents' 12345 %".replace(/12345/,string);

【讨论】:

以上是关于NoReverseMatch 与 Django 网址的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Django 模板模式匹配错误的视图并导致 NoReverseMatch 错误?

没有反向匹配 - django.urls.exceptions.NoReverseMatch

网址 django,NoReverseMatch

如何修复 Django“NoReverseMatch”错误

Django 测试 - NoReverseMatch

Django:NoReverseMatch 在