class ChromeLoginView(View):
def get(self, request):
return JsonResponse({'status': request.user.is_authenticated()})
@method_decorator(csrf_exempt)
def post(self, request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return JsonResponse({'status': True})
return JsonResponse({'status': False})
Yazının csrf tarafından durdurulduğunu ancak 403 hatası verdiğini umuyorum. @csrf_exempt genel görünüm tabanlı sınıfta çalışmaz
Ama
url(r'^chrome_login/', csrf_exempt(ChromeLoginView.as_view()), name='chrome_login'),
URLConf
o dekoratör kaldırıp bunu eğer çalışacaktır.
Burada ne oldu? işe yaramadı, çünkü sanırım method_decorator'ın yaptığı şey bu. Kullanıyorum: python3.4 ve django1.7.1
Herhangi bir öneri harika olur.
Django_braces'e bakmalısın ... – rnevius
@rnevius çok teşekkürler, bu mixin lib'i daha önce hiç bilmem. – castiel
Süper harika! Özellikle, bu işi yapmak için görünümünüze [CsrfExemptMixin] (https://django-braces.readthedocs.org/en/v1.4.0/form.html#csrfexemptmixin) ekleyebildiğiniz için. Neredeyse hile yapmak gibi ... – rnevius