使用 % url % 的 NoReverseMatch
Posted
技术标签:
【中文标题】使用 % url % 的 NoReverseMatch【英文标题】:NoReverseMatch using % url %使用 % url % 的 NoReverseMatch 【发布时间】:2016-11-26 15:39:37 【问题描述】:我正在尝试遵循此处给出的示例:Refresh <div> element generated by a django template
但我最终得到:
NoReverseMatch at /search/:
Reverse for '' with arguments '()' and keyword arguments
'u'flights':[FLIGHTS]' not found. 0 pattern(s) tried: []"
我看到很多与此错误相关的搜索结果,但它们似乎都不相关,除非我完全遗漏了什么。
search.html 中的 javascript:(已更新)
<script>
var flights = flights | safe
$.ajax(
url: % url 'search_results' flights %,
success: function(data)
$('#search-results').html(data);
);
</script>
views.py:
def search_results(request, flights):
return render_to_response('search_results.html', flights)
urls.py:(已更新)
url(r'^search/search_results/(?P<flights>[^/]*)$', "fsApp.views.search_results", name='search_results'),
预计到达时间:
我现在已经尝试了以下所有方法,但都没有奏效:
url(r'^search/(?P<flights>[^/]*)$', "fsApp.views.search_results", name='search_results'),
url(r'^search/search_results/(?P<flights>[^/]*)$', "fsApp.views.search_results", name='search_results'),
url(r'^search/(?P<flights>[^/]*)/search_results/$', "fsApp.views.search_results", name='search_results'),
【问题讨论】:
search_results URL 不带任何参数,但您正试图将“航班”的值传递给它。 我已经尝试了三种不同的方法(基于响应和文档),但它们都不起作用。 【参考方案1】:您缺少网址的名称:
url(r'^search/(?P<flights>[^/]*)/search_results/$', "fsApp.views.search_results", name='search_results'),
在您的模板中:
% url 'search_results' flights as url_search %
<script>
...
url: ' url_search ',
...
</script>
Example from Django:
from django.conf.urls import url
from . import views
urlpatterns = [
#...
url(r'^articles/([0-9]4)/$', views.year_archive, name='news-year-archive'),
#...
]
【讨论】:
您当前的 url 定义不期望flights
参数
文档似乎建议它应该只是“r'^search/(?P'% url 'search_results' flights %'
。不要错过'
以上是关于使用 % url % 的 NoReverseMatch的主要内容,如果未能解决你的问题,请参考以下文章
使用 sqlalchemy.engine.url.URL 为 mssql+pyodbc 构建连接 URL