Как я могу обрабатывать render_to_response с помощью ajax, чтобы страница могла быть перенаправлена ​​с содержимым?

просмотры.py

def usersignup(request):
        content = {}
        userinfo = user_signup.objects.all()
        if request.method == "POST":
            fullname = request.POST.get('fullname')
            email = request.POST.get('email')
            password = request.POST.get('password')
            for i in userinfo:
                if i.user_email == email:
                    # content['err_msg'] = 'Email Id already exists'
                    return HttpResponse('Already Exist')
                    # return render_to_response("index.html",content,context_instance=RequestContext(request))
            userobj = user_signup.objects.create(full_name=fullname, user_email=email, user_password=password)
            content['fullname'] = fullname
            content['useremail'] = email
            request.session['user'] = userobj.user_email
        return render_to_response("users/user_signup.html",content,context_instance=RequestContext(request))

index.js

function usersignup()
{
    var csrftoken = getCookie('csrftoken');
    emailid = document.getElementById('nuemail').value
    password = document.getElementById('nupassword').value
    fullname = document.getElementById('nufullname').value

    alert(emailid);
    alert(password);

     $.ajax({
        url: '/usersignup/',
        type: 'POST',
        data : {
        // CSRF : csrftoken,
        email : emailid,
        password : password,
        fullname : fullname
    },
    }).done(function(response){
        alert(response);
        if (response == "Already Exist")
        {
            $('#p2').empty();  
          alert(response);  
          $('#p2').append('EmailId already exists');
        }
  });
}

index.html

<div class="md-modal " id="modal-19"> <!--  add flip efffect -->
        <div  class="md-content modal-form"  id="usersignup">
            <h3>Sign Up <img alt="" class="md-close right" onclick="closeAll()" src="/static/img/close_pink.png" ></h3>
            <div>
                <section class="modal-inside">
                <div class="row">
                    <div class="columns large-12">
                        <div class="group">
                            <input type="text" name="fullname"  id= "nufullname" required> <span class="highlight"></span>
                            <span class="bar"></span> <label>Full name</label>
                        </div>

                    </div>

                </div>
                <div class="row">
                    <div class="columns large-12">
                        <div class="group">
                            <input type="email" name="email" title="In this format '[email protected]'"
                                id = "nuemail" required> <span
                                class="highlight"></span> <span class="bar"></span> <label>Email
                                address</label>
                        </div>

                    </div>
                </div>
                <div class="row">
                    <div class="columns large-12">
                        <div class="group">
                            <input type="password" name='password' id = "nupassword" required> <span class="highlight"></span>
                            <span class="bar"></span> <label>Password</label>
                        </div>
                    </div>
                </div>
                <div class="row">
                        <div class="columns large-8">
                            <h6>
                                Have an account? <a class=" md-close md-trigger"
                                    onclick="userLogIn()" data-modal="user-sign-in"> Log in</a>
                            </h6>
                        </div>
                        <div class="columns large-4">
                            <button class="tiny round right" onclick="usersignup();">SIGN UP</button>
                        </div>
                        <p id="p2"></p>
                    </div>
            </section>


            </div>
            </div>

Я добавил три файла, поэтому моя проблема в том, что всякий раз, когда я создаю нового пользователя, я хочу, чтобы страница была перенаправлена ​​на («users/user_signup.html»), для которой я использовал render_to_response.

Я также использовал функцию ajax в index.js, где я просто хотел проверить ответ, что если идентификатор электронной почты уже существует, он должен вернуть Httpresponse как («Уже существует»), он работает нормально.

Проблема с кодом заключается в том, что в случае render_to_response страница не перенаправляется на другую страницу, а вместо этого возвращает ответ функции ajax. Есть ли какое-либо решение, как я могу просто перенаправить страницу. Пожалуйста, помогите мне ТИА.


person Yash Rastogi    schedule 23.10.2015    source источник
comment
Вы можете рассмотреть возможность использования redirect()... https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#redirect   -  person amulya349    schedule 23.10.2015


Ответы (1)


Я вызывал render_to_response, используя метод post, на который я возвращал ответ в виде всей HTML-страницы, поэтому решение, над которым я работал, заключалось в том, что я просто вызывал render_to_response, используя метод get, на котором загружалась страница.

person Yash Rastogi    schedule 02.11.2015