Django redirect не работает

135
15 января 2022, 10:10

У меня есть мини сайтик django+ajax, когда я пытаюсь сделать обычный редирект, он не делается)

(Библиотеки все подключены)
Вот вьюшка:

def javascript(request):
    if request.POST:
        name = request.POST['name']
        print(name)
        return redirect('/')
    else:
        print("First")
        return render(request, 'javascript.html', {'title':'javascript'})

вот javascript.html:

    <label for="id_name">Имя: </label>
    <input type="text" name="name" id="id_name" placeholder="Имя..."><br>
    <label for="id_password">Пароль: </label>
    <input type="password" name="password" id="id_password" placeholder="Пароль..."><br>
    <label for="id_repassword">Повторите пароль: </label>
    <input type="password" name="repassword" id="id_repassword" placeholder="Повторите пароль..."><br>
    <input type="button" id="id_button" name="button" onclick="valid()">

<script>
function valid(form)
{
    name = $('#id_name').val();
    password = $('#id_password').val();
    repassword = $('#id_repassword').val();
    $.ajax({
        url:'/javascript/',
        method:'POST',
        cache:true,
        data:{'name':name, 'password':password, 'repassword':repassword,'csrfmiddlewaretoken': '{{ csrf_token }}'},
        //success: function(data){alert("Success!")}
    });
}
</script>

вот index.html:

<a href="javascript/">Let's Go!</a>

P.S. вопрос все еще открыт!

Answer 1

Нужно воспользоваться reverse https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#django.urls.reverse

в urls.py:

url('/', view='index', name='url_name')

во views.py:

def javascript(request):
       if request.POST:
          name = request.POST['name']
          print(name)
          return redirect(reverse('url_name'))
       else:
          print("First")
          return render(request, 'javascript.html', {'title':'javascript'})
READ ALSO
Обмен данными между двумя разными приложениями [закрыт]

Обмен данными между двумя разными приложениями [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме

80
Включение кнопки при вводе текста

Включение кнопки при вводе текста

Задача собственно такая: Имеется основное поле ввода TextField surnameNamePatronymicID - принимает ФИО, имеется кнопка Button fillButtonAction - именуемая "заполнить"...

57
Присваивание значения переменной - Scanner несколько раз

Присваивание значения переменной - Scanner несколько раз

Есть сканер Int чиселС помощью try catch обрабатываю ошибку того, что это не число типа Int, но при вводе чего-то другого, кроме целого числа выдается...

87