auth.py 957 B

1234567891011121314151617181920212223242526
  1. from django.contrib import messages
  2. from django.http import Http404
  3. from django.shortcuts import render, redirect
  4. from django.utils.translation import ugettext as _
  5. from django.views.decorators.debug import sensitive_post_parameters
  6. from django.views.decorators.cache import never_cache
  7. from django.views.decorators.csrf import csrf_protect
  8. from misago.admin import auth
  9. from misago.users.forms.auth import AdminAuthenticationForm
  10. @sensitive_post_parameters()
  11. @csrf_protect
  12. @never_cache
  13. def login(request):
  14. url_namespace = request.resolver_match.namespace
  15. form = AdminAuthenticationForm(request)
  16. if request.method == 'POST':
  17. form = AdminAuthenticationForm(request, data=request.POST)
  18. if form.is_valid():
  19. auth.login(request, form.user_cache)
  20. return redirect('%s:index' % url_namespace)
  21. return render(request, 'misago/admin/login.html',
  22. {'form': form, 'namespace': url_namespace})