I am trying to authenticate a user to ajax post but it does not work. Here is what i did
settings.py
LOGIN_URL = '/accounts/login/' LOGIN_REDIRECT_URL = '/'
Template
<script> $('.btn-request').click(function(){ var button = this; $.ajax({ type: "POST", url: "{% url 'like' %}", data: {'tutorial_id': $(this).attr('name'), 'csrfmiddlewaretoken': '{{csrf_token}}'}, dataType: "json", success: function(json) { toastr.success(json.message); }, error: function(rs, e) { alert(rs.responseText); } }); }) </script>
urls.py
url(r'^like/$', 'apps.quotation.views.like', name='like'),
views.py - try 1
@login_required def like(request): vars = {} if request.method == 'POST': response_dict = {} if not something: response_dict.update({'message': "Requested" }) else: response_dict.update({'message': "You have already requested" }) return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
views.py - try 2
def like(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') else: vars = {} if request.method == 'POST': response_dict = {} if not something: response_dict.update({'message': "Requested" }) else: response_dict.update({'message': "You have already requested" }) return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
Runserver Magazine
[05/Mar/2014 05:19:16] "POST /like/ HTTP/1.1" 302 0 [05/Mar/2014 05:19:16] "GET /accounts/login/?next=/like/ HTTP/1.1" 200 5610
What am I missing?
ajax django login-required
Mysticcodes
source share