Я новичок в Django и начал работать над зрелым проектом Django.
Я хочу добавить новую страницу на экраны учетной записи пользователя и дать ссылку на нее. Но я получаю ошибку NoReverseMatch.
К /users/urls.py я добавил:
url(r'^panel/history$',
'theproject.users.views.history',
name='account_history'
),
... что соответствует строке над ней:
url(r'^panel$',
'theproject.users.views.control_panel',
name='account_panel'
),
К /users/views.py я добавил:
@login_required
def history(request):
return render_to_response('users/ourbrand_history.html', {},
context_instance=RequestContext(request))
... что соответствует строке над ней:
@login_required
def control_panel(request):
return render_to_response('users/ourbrand_panel.html', {},
context_instance=RequestContext(request))
В /templates/users/ourbrand_panel.html я добавил:
<a href="{% url account_history %}">History</a>
... что соответствует строке над ней:
<a href="{% url account_panel %}">Home</a>
Теперь, когда я загружаю / panel, я получаю TemplateSyntaxError: NoReverseMatch.
Reverse for 'account_history' with arguments '()' and keyword arguments '{}' not found.
ОБНОВЛЕНИЕ: В качестве теста я удалил ссылку в шаблоне - и / панель загрузилась нормально. Если я затем удаляю /users/urls.py и /users/views.py / панель все еще загружается. Я удалил все файлы cookie, историю и т. Д. Нужно ли запускать команду в терминале (например, rake in ruby), чтобы внести изменения в urls.py? Или изменения должны «просто работать»?