"Не удалось разобрать ошибку напоминания" - Джанго
Когда запускается jsevent, он перенаправляет параметр ссылки на атрибут data-url кнопки, а когда пользователь нажимает эту кнопку, он перенаправляет на бэкэнд-представление django, но существует проблема с разбором строки JS
$ ('# Btn_del'). Атр ('данных URL',{% url 'event_delete'
+ event.id + %}
); есть ли шанс объединить этот синтаксис? Спасибо, хороших дней.
JS:
eventClick: function(event, jsEvent, view) {
$('#modalTitle').html(event.id);
$('#btn_del').attr('data-url',`{% url 'event_delete' ` + event.id + `%}`);
$('#calendarEditModal').modal();
console.log(event.id);
}
url.py
....
url(r'^event/(?P<pk>\d+)/delete/$', event_delete, name='event_delete'),
....
Кнопка HTML, которая перенаправляет на Django
<button id="btn_del" type="button" class="btn btn-primary js-delete-events" data-url="">
<span class="glyphicon glyphicon-pencil"></span>
Edit
</button>
Результат должен выглядеть примерно так: event.pk будет числовым значением нашего параметра, все в порядке.
<button type="button" class="btn btn-primary js-delete-events" data-url="{% url 'event_delete' event.pk %}">
<span class="glyphicon glyphicon-plus"></span>
button
</button>
/event/1/update/ is the last result of seen from browser inspect. But I need to write inside jsEvent with django syntax to able to reach backend view which is {% url 'event_delete' event.pk %} something like that.
1 ответ
Нет, это не может быть сделано таким образом... Разбор ваших шаблонов ({% url %}
тег) выполняется на сервере еще до того, как браузер получит что-либо. Браузер не знает, какие теги шаблонов вы используете.
С другой стороны, JavaScript выполняется в браузере, поэтому язык шаблонов также не знает о переменных внутри него.
Решением для этого является использование пакета, такого как Django JS Reverse. Второй - передать полный URL-адрес JavaScript, так же, как он получает идентификатор элемента.