Как использовать диспетчер URL для получения кликабельной ссылки на список содержимого моей страницы DJANGO
Я хочу сделать список элементов, отображаемых на моей странице index.html, кликабельным, я использовал технику url dynamic reverse, но я продолжаю получать эту ошибку.
Пожалуйста, подскажите, что я могу делать неправильно.
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/%7B%25%20url%20'entrypage'%20entry%20%25
Using the URLconf defined in wiki.urls, Django tried these URL patterns, in this order:
admin/
[name='index']
wiki/<str:title> [name='entrypage']
The current path, {% url 'entrypage' entry %, didn’t match any of these.
URLS.PY
app_name = "encyclopedia"
urlpatterns = [
path("", views.index, name="index"),
path("wiki/<str:title>", views.entry_page, name='entrypage'),
]
HTML
<ul>
{% for entry in entries %}
<li>
<a href="{% url 'entrypage' entry %">{{ entry }}</a>
</li>
{% endfor %}
</ul>
VIEWS.PY
def entry_page(request, title):
title = util.get_entry(title)
if title:
content = markdown2.markdown(title)
context = {
"title": title,
"content": content,
}
return render(request, "encyclopedia/entrypage.html", context)
else:
return render(request, "encyclopedia/errorpage.html")
Что я делаю неправильно, пожалуйста. Я начинающий
Упс, вам не хватает закрывающей фигурной скобки тега шаблона url
<a href="{% url 'entrypage' entry %}">{{ entry }}</a>
Вам также может понадобиться передать заголовок, а не экземпляр записи, потому что именно его использует entry_page для поиска.
<a href="{% url 'entrypage' entry.title %}">{{ entry }}</a>