P
PisychMarch 15, 2023, 12:13 p.m.

Почему не работает редирект?

Добрый день! Я не использую формы Джанго, а провожу добавление записи с помошью ajax. В общем, суть такая. Добавляю в таблицу реквизиты документа (номер, дата и т.д.). После сохранения хочу перейти на страницу с этим же документом, чтобы продолжить редактирование - добавление табличной части и т.д. А редирект не срабатывает...
Вот часть кода. Редирект на home просто в качестве примера:

def JurnalOst(request):
    podraz = Podraz.objects.get(pk=74)
    postav = Postav.objects.get(pk=9)
    obct = Obct.objects.get(pk=180)
    fio = Fio.objects.get(pk=5)
    jurnalost=Jurnal.objects.filter(oper=1)
    if request.method=='POST':
        nomerdoc1=request.POST['nomerdoc']
        datadoc1=request.POST['datadoc']
        print(nomerdoc1,datadoc1)
        newost=Jurnal()
        newost.nomerdoc=nomerdoc1
        newost.datadoc=datadoc1
        newost.podraz=podraz
        newost.postav=postav
        newost.obct=obct
        newost.fio=fio
        newost.oper=1

        newost.save()
        un = Jurnal.objects.values()
        unit_data=list(un)
        print(newost.id)
        return redirect('home')
        #return JsonResponse({'status':1,'unit_data':unit_data})

Вот url

urlpatterns=[
   path('', loginUser, name='loginUser'),
   # другие --------
   path('main/',index,name='home'),
   ]

А вот ajax

<script>
console.log('Script running!');
$('#ost-form').on('submit',function(e){
event.preventDefault();
let _nomerdoc=$('#id_nomerdoc').val();
let _datadoc=$('#id_datadoc').val();
let _csr=$("input[name=csrfmiddlewaretoken]").val();

mydata={
nomerdoc:_nomerdoc,
datadoc:_datadoc,
csrfmiddlewaretoken:_csr,
}



console.log('Pressed');
console.log(_nomerdoc);
console.log(_datadoc);
console.log(mydata);

$.ajax({
url:'/JurnalOst/',
method:"POST",
data:mydata,
dataType:"json",

success:function(data){
if (data.status==1){
console.log(data.unit_data);
console.log('saved');

}
}

});
});
</script>
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

1
Evgenii Legotckoi
  • March 15, 2023, 3:08 p.m.

Добрый день!
Через Ajax редирект и не будет работать. Вам нужно вернуть JsonResponse и обработать его в на клиентской стороне в скрипте вызов Ajax.

То есть вызвать редирект в этой функции

success:function(data){
if (data.status==1){
console.log(data.unit_data);
console.log('saved');

}

    Comments

    Only authorized users can post comments.
    Please, Log in or Sign up
    ДЛ

    C ++ - Test 004. Pointers, Arrays and Loops

    • Result:60points,
    • Rating points-1
    СЦ

    C ++ - Test 004. Pointers, Arrays and Loops

    • Result:50points,
    • Rating points-4
    AT

    C++ - Test 001. The first program and data types

    • Result:73points,
    • Rating points1
    Last comments
    J
    JonnyJoMarch 30, 2023, 11:57 a.m.
    Qt/C++ - Lesson 021. The drawing mouse in Qt Евгений, здравствуйте! Только начал изучение Qt и возник вопрос по 21ому уроку. После написания кода, выдаёт следующие ошибки В чём может быть проблема?
    АН
    Алексей НиколаевMarch 26, 2023, 9:10 a.m.
    Qt/C++ - Lesson 042. PopUp notification in the Gnome style using Qt Добрый день, взял за основу ваш PopUp notification , и немного доработал его под свои нужды. Добавил в отдельном eventloop'e всплывающую очередь уведомлений с анимацией и таймеро…
    АН
    Алексей НиколаевMarch 26, 2023, 9:04 a.m.
    Qt/C++ - Lesson 042. PopUp notification in the Gnome style using Qt Включите прозрачность в композит менеджере fly-admin-theme : fly-admin-theme ->Эффекты и всё заработает.
    NSProject
    NSProjectMarch 24, 2023, 2:35 p.m.
    Django - Lesson 062. How to write a block-template tabbar tag like the blocktranslate tag Да не я так к примеру просто написал.
    Evgenii Legotckoi
    Evgenii LegotckoiMarch 24, 2023, 10:09 a.m.
    Django - Lesson 062. How to write a block-template tabbar tag like the blocktranslate tag Почитайте эту статью про "хлебные крошки"
    Now discuss on the forum
    BlinCT
    BlinCTApril 1, 2023, 5:16 a.m.
    Нужен совет по работе с ListView и несколькими моделями Спасибо, сейчас займусь этим.
    NSProject
    NSProjectMarch 31, 2023, 2:55 a.m.
    Проверка комментария принадлежит он пользователю или нет DRF (Django Rest Framework) Здравствуйте! Сегодня я столкнулся с такой проблеммой. Существует модель комметариев. Где их соответственно достаточное количество. Все они выводятся при помощи запроса ajax (axios). Так ка…
    P
    PisychMarch 30, 2023, 2:50 a.m.
    Как подсчитать количество по условию? Да! Вот так работает! Огромное Вам спасибо! ........
    Evgenii Legotckoi
    Evgenii LegotckoiMarch 29, 2023, 4:11 a.m.
    Замена поля ManyToMany Картинки точно нужно хранить в медиа директории на сервере, а для обращения использовать ImageField. Который будет хранить только путь к изображению на сервере. Хранить изображения в базе данных…
    ВА
    Виталий АнисимовJan. 29, 2023, 3:17 p.m.
    Как добавить виртуальную клавиатура с Т9 в своей проект на QML. Добрый день. Прошу помочь, пишу небольше приложение в Qt. Добвил в свой проект виртуальную клавиатуру от Qt. Но как добавить в него возможность изменения Т9 никак не могу понять.

    Follow us in social networks