Reverse for 'edit' with keyword arguments '{'title': 'HTML'}' не найден
Я выполняю программу по созданию сайта в стиле википедии, используя python и фреймворк django. Я столкнулся с проблемой, когда у меня есть ссылка на редактирование вики-страницы на страницах записей. Когда страница пытается отобразиться, я получаю сообщение об ошибке в заголовке этого сообщения. Я не уверен, почему она не находит страницу редактирования, я думаю, что у меня где-то опечатка, но я не нахожу ее. Любая помощь будет очень признательна!
URLS.py
urlpatterns = [
path("", views.index, name="index"),
path("error", views.error, name="error"),
path("newPage", views.newPage, name="newPage"),
path("random", views.random, name="random"),
path("edit", views.edit, name="edit"),
path("<str:entry>", views.markdown, name="entry")
]
entry.html
{% block nav %}
<div>
<a href="{% url 'edit' title=entry %}" method="GET">Edit Page</a>
</div>
{% endblock %}
views.py входная функция
def edit(request, title):
content = util.get_entry(title)
return render(request, "encyclopedia/newPage.html", {
"title": title,
"content": content
})
Ваш URL для редактирования нуждается в параметре для указания записи в URL, поэтому:
# ↓ url parameter
path('edit/<str:title>/', views.edit, name='edit'),
Если заголовок может содержать слеш, необходимо использовать конвертер путей <path:…>
[Django-doc]:
# ↓ url parameter
path('edit/<path:title>/', views.edit, name='edit'),