Django - кнопка, перенаправляющая на {% url 'index' %}
Не могу найти решение ни в одной статье, поэтому спрашиваю здесь. Я хочу сделать кнопку, которая будет перенаправлять пользователя на определенный url. Я уже сделал это следующим образом:
<button onclick="location.href='create_recipe/'" type="button" >Create new Recipe</button>
но вместо передачи всей ссылки я хотел бы использовать {% url 'some_view' %}
но я не представляю как это сделать.
Возможно ли это вообще сделать
Должно быть <button>
,
редактирование:
что-то вроде:
<button type="button" class="btn btn-outline-secondary"><a href="{% url 'index' %}">Create new Recipe</a></button>
также не работает
Вы можете сделать это, добавив к кнопке следующее:
onclick="goToSomeView()"
А затем вот это в один из ваших JS файлов, как указано ниже Sunderam Dubey:
function goToSomeView(){
document.location.href = "{% url 'some_view' %}"
}
index
это ваша функция, которая существует views.py
файле.
from django.urls import path
from . import views
path('',views.index, name='index'),
HTML:
<a class="btn btn-outline-secondary" href="{% url 'index' %}">Create new Recipe</a>
Как я вижу, вы уже используете bootstrap, поэтому самый простой способ - использовать элемент a
с атрибутом type="button"
.
<a href="{% url 'index' %}" type="button" class="btn btn-outline-secondary">Create new recipe</a>
Ниже видно, что результат тот же, но для button
нужно привязать функцию onclick
. В данном случае я указал на ответ @nigel239.
function goToSomeView(){
document.location.href = "{% url 'index' %}"
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<p class="lead">Using 'a' element</p>
<a href="{% url 'index' %}" type="button" class="btn btn-outline-secondary">Create new recipe</a>
<p class="lead mt-3">Using button</p>
<button onclick="goToSomeView()" class="btn btn-outline-secondary">Create new recipe</button>