Django - использование HTML href для ссылки на другое представление
На моей домашней странице есть 2 ссылки, которые я хотел бы перевести пользователя на разные страницы. Как мне сделать так, чтобы ссылка href вела на представление, которое я создал в views.py? Если вписать имя html файла в качестве href и щелкнуть по нему, то url в строке поиска будет выглядеть как /qualifications/qualifications.html
, тогда как я хочу, чтобы это было /qualifications/
HTML:
<div id="nav_bar">
<ul>
<li><a href="home.html">Home</a></li>
<li><a href="qualifications.html">Qualifications</a></li>
</ul>
</div>
views.py
def qualifications(request):
context = {"title": "Qualifications"}
return render(request, "myApp/qualifications.html", context)
urls.py
urlpatterns = [
path("", views.home, name="home"),
path("qualifications/", views.qualifications, name="qualifications"),
]
Вам нужно перенаправить на ваши представления, а не на ваши шаблоны. Для этого ваш href должен иметь вид {% url 'your_view_name' %}
.
Так что в вашем случае конечный результат будет примерно таким :
<div id="nav_bar">
<ul>
<li><a href="{% url 'home' %}">Home</a></li>
<li><a href="{% url 'qualifications' %}">Qualifications</a></li>
</ul>
</div>
Обратите внимание, что если вы определили app_name
в вашем urls.py
, то ваш href будет {% url 'your_app_name:your_view_name' %}
.