Перенаправление после вызова Ajax с использованием Django, если запрос соответствует - PullRequest
0 голосов
/ 19 февраля 2019

Я понимаю, что этот код не работает, потому что запрос почему-то недостаточен, но я не уверен, как его исправить.Я пытаюсь настроить его так, чтобы, если данные ajax совпадали с именем пользователя, они перенаправлялись на home.html.Любая помощь будет очень ценна!(PS: вызовы печати работают - если пользователь существует, он печатает оператор "else" и наоборот. Тем не менее, перенаправление все еще не работает!)

views.py

 def profile(request):
        profname = request.GET.get('profname', None)
        obj = User.objects.filter(username=profname)
        if not obj:
            print("I need this time to redirect to error page")

        else:
            print ("I need this to redirect home")
            return redirect('home')
        return render(request, 'profile.html')

html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<body>
<h1>jkkk</h1>
     <a id="butt" href="#">Get Data</a>
 </body>
 <script>


$(document).ready(function(){
  $("#butt").click(function(){

           $.ajax({
           type: "get",
           url: 'profile',
           datatype:'json',
            data: {
            'profname': 'jillsmith',
            },

       }); 
  });
});
</script>

urls.py

urlpatterns = [
     path('', views.explore, name='explore'),
     path('happening/profile/', views.profile, name='profile'),
     path('happening/', views.happening, name='happening'),
     path('home/', views.home, name='home'),
     path('happening/test/', views.test, name='test'),
     path('home/likes/', views.likes, name='likes'),



]

1 Ответ

0 голосов
/ 19 февраля 2019

Просто поместите оператор return перед вашим вызовом redirect, он возвращает объект HttpResponse и его необходимо вернуть вызывающей стороне.

EDIT: OP обновлен и добавлен возврат, однако это должно быть хорошим исправлением.Пожалуйста, попробуйте передать URL и логическое значение, указывающее, следует ли вам перенаправить или нет. Django AJAX Redirect

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...