Производственный django-сервер, выдающий «NoReverseMatch» во время рендеринга, работает над разработкой - PullRequest
3 голосов
/ 04 декабря 2010
Caught NoReverseMatch while rendering: Reverse for 'views.main' with arguments '()' and keyword arguments '{}' not found.

Я не понимаю, что может вызвать ошибку.

Мои URL

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 ипохоже, они указывают на правильный каталог.

Ответы [ 4 ]

4 голосов
/ 05 декабря 2010

Вероятность состоит в том, что у вас есть ошибка где-то еще, которая препятствует импорту одного из ваших представлений - возможно, отсутствует зависимость на вашем рабочем сервере. Функция обратного URL работает, импортируя все ваши представления, поэтому, если ни одно из них не может быть импортировано по какой-либо причине, вы увидите ошибку NoReverseMatch.

1 голос
/ 05 декабря 2010

Попробуйте:

url(r'^$', views.main, name="main-view")

и по шаблону:

<a href="{% url main-view %}"> bla bla blah</a>
0 голосов
/ 25 июня 2019

Перезапуск gunicorn Служба решила мою проблему:

sudo systemctl restart YOUR_GUNICORN.service

Убедитесь, что вы перезапускаете службу right gunicorn . Я сводил себя с ума, а потом понял, что перезапускаю не ту службу. Вы также можете попробовать перезагрузить nartx, но это не обязательно: sudo systemctl restart nginx

0 голосов
/ 02 марта 2012

Я столкнулся с тем же, и поэтому я попробовал метод Paperino по созданию образа сервера и затем восстановлению сервера для этого образа, и вуаля, ошибка шаблона исчезла.Я понятия не имею, почему это работает, но это помогло мне, так что я не жалуюсь, потратил большую часть дня, пытаясь выяснить это :)

...