Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #kustomowy emailauthbackend
- from django.contrib.auth.models import User
- class EmailAuthBackend():
- def authenticate(self,request,username,password):
- try:
- user = User.objects.get(email=username)
- success = user.check_password(password)
- if success:
- return user
- except User.DoesNotExist:
- try:
- user = User.objects.get(username=username)
- if user.check_password(password):
- return user
- except User.DoesNotExist:
- return None
- def get_user(self,uid):
- try:
- return User.objects.get(pk=uid)
- except:
- return None
- def has_perm(self, user_obj, perm, obj=None):
- if user_obj.username == settings.ADMIN_LOGIN:
- return True
- else:
- return False
- #login.html
- {% extends 'home/base.html' %}
- {% block title %}Login{% endblock %}
- {% block content %}
- <h1> Log in </h1>
- <form method="post" action="{% url 'answer:login_view' %}">
- {% csrf_token %}
- <table>
- <tr>
- <td>{{ form.email.label_tag }}</td>
- <td>{{ form.email }}</td>
- </tr>
- <tr>
- <td>{{ form.password.label_tag }}</td>
- <td>{{ form.password }}</td>
- </tr>
- </table>
- <input type="submit" value="login" />
- <input type="hidden" name="next" value="{{ next }}" />
- </form>
- {% endblock %}
- widok
- def login_view(request):
- from django.contrib.auth.forms import AuthenticationForm
- form = LoginForm(request.POST or None)
- if request.method == 'POST' and form.is_valid():
- user = authenticate(email=user, password=password)
- login(request, user)
- return redirect('index')
- else:
- return HttpResponseRedirect('Error')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement