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' %}.

Вернуться на верх