Caught NoReverseMatch while rendering: Reverse for 'views.main' with arguments '()' and keyword arguments '{}' not found.
我不明白会导致错误的原因。
我的网址
urlpatterns = patterns('',
url(r'^$', views.main),
html模板
<a href="{% url views.main %}"> bla bla blah</a>
在我的views.py
中return render_to_response("main.html", d, context_instance=RequestContext(request))
我已经检查了我的TEMPLATE_DIRS,它们似乎指向了正确的目录。
答案 0 :(得分:4)
可能是您在其他地方出现错误,这会阻止您的某个视图被导入 - 可能是您的生产服务器上缺少依赖项。反向网址功能的工作原理是导入您的所有视图,因此如果因任何原因无法导入其中任何视图,您将看到NoReverseMatch
错误。
答案 1 :(得分:1)
尝试:
url(r'^$', views.main, name="main-view")
并在模板上:
<a href="{% url main-view %}"> bla bla blah</a>
答案 2 :(得分:0)
我遇到了同样的事情,所以我尝试了Paperino创建服务器图像的方法,然后将服务器恢复到该图像,瞧,模板错误就消失了。我不知道为什么会这样,但它确实适合我,所以我没有抱怨,一天大部分时间都在努力想出这一点:)
答案 3 :(得分:0)
重新启动gunicorn
服务解决了我的问题:
sudo systemctl restart YOUR_GUNICORN.service
确保您正在重新启动正确的枪械服务。我当时疯了,然后才意识到我正在重新启动错误的服务。您也可以尝试重新启动重新启动nginx,但这不是必需的:sudo systemctl restart nginx