Django не загружает URL, который я определил
Я работаю над проектом, который генерирует динамические урлы, Например, если я набираю 127.0.0.1:8000/newpage, он генерирует новую модель со slug newpage
Раньше проект работал нормально, но внезапно он начал показывать некоторые ошибки. Я вызываю URL с помощью ajax следующим образом (5-я строка):
$(document).on('click', '#save', function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '{% url "text:update" %}',
data: {
newText: $('#text-content').val(),
slug: "{{ obj.slug }}",
csrfmiddlewaretoken: "{{csrf_token}}",
action: 'post'
},
success: function (json) {
if (json['status'] === 'OK') {
document.getElementById('msg-box').innerText = 'TEXT SAVED';
window.removeEventListener("beforeunload", beforeUnloadListener, { capture: true });
}
},
error: function (xhr, errmsg, err) {
}
});
});
Он должен загружать представление, которое я определил в шаблонах url обновления, но по какой-то причине он все еще загружает мое представление slug и генерирует новый url со slug update, я имею в виду, что он не должен этого делать, если я говорю ему загружать определенное представление в шаблоне URL, тогда почему он все еще загружает представление slug Ниже приведен мой urls.py:
#Only patterns
path('', home, name='home'),
path('<slug:slug>/', textview, name='textview'),
path('update/', update, name='update'),
Где вы используете этот код AJAX? Если он находится в файле JavaScript (.js), Jinja не будет там работать, поэтому вы должны написать абсолютный URL или определить переменную для Jinja в HTML, а затем использовать эту переменную в файле JS.
Попробуйте добавить слеш после URL, если ваш APPEND_SLASH
не True в settings.py
.