Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. from django.contrib.auth.models import AbstractUser
  2. from django.contrib.sessions.models import Session
  3.  
  4. class CustomUser(AbstractUser):
  5.  
  6. addr1= models.CharField(max_length=20)
  7. addr2= models.CharField(max_length=20)
  8. city= models.CharField(max_length=20)
  9. state= models.CharField(max_length=20)
  10.  
  11. class UserSession(models.Model):
  12. user= models.ForeignKey(settings.AUTH_USER_MODEL)
  13. session=models.ForeignKey(Session)
  14.  
  15. from .models import UserSession
  16. from django.contrib.auth.signals import user_logged_in
  17.  
  18. def login(request):
  19. username = request.POST['username']
  20. password = request.POST['password']
  21. user = authenticate(username=username, password=password)
  22. if user is not None:
  23. if user.is_active:
  24. login(request, user)
  25. return HttpResponseRedirect('/Student_home.html') # Redirect to a success page.
  26. else:
  27. return HttpResponse("disabled account") # Return a 'disabled account' error message
  28.  
  29. else:
  30. return HttpResponse("invalid login")# Return an 'invalid login' error message.
  31.  
  32. def logout(request):
  33. logout(request)
  34. return HttpResponseRedirect('/Student_home.html')# Redirect to a success page.
  35.  
  36. def user_logged_in_handler(sender,request,user, **kwargs):
  37. UserSession.objects.get_or_create(
  38. user= user,
  39. session_id= request.session.session_key
  40. )
  41. user_logged_in.connect(user_logged_in_handler, sender=CustomUser)
  42.  
  43. def delete_user_sessions(CustomUser):
  44. user_sessions=UserSession.objects.filter(user=CustomUser)
  45. for user_session in user_sessions:
  46. user_session.session.delete()
  47.  
  48. from django.contrib.auth.forms import AuthenticationForm
  49. from django import forms
  50.  
  51. class LoginForm(AuthenticationForm):
  52. username = forms.CharField(label="Username", max_length=30,
  53. widget=forms.TextInput(attrs={'class': 'form-control', 'name': 'username'}))
  54. password = forms.CharField(label="Password", max_length=30,
  55. widget=forms.TextInput(attrs={'class': 'form-control', 'name': 'password'}))
  56.  
  57. from django.contrib.auth import views
  58. from swaracharya.forms import LoginForm
  59.  
  60. url(r'^login/$', views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name='login'),
  61. url(r'^logout/$', views.logout, {'next_page': '/login'}),
  62.  
  63. <div class="container">
  64. <section id="content">
  65. <form action="{% url 'login' %}" method="post" enctype="multipart/form-data">
  66. {% csrf_token %}
  67. <h1>Login Form</h1>
  68.  
  69. <div class="imgcontainer">
  70. <img src="{% static 'student/patient.jpg' %}" alt="Avatar" class="avatar">
  71.  
  72. </div>
  73.  
  74. <div class="username">
  75. {{ form.username.label_tag }}
  76. {{ form.username }}
  77. </div>
  78.  
  79. <div class="password">
  80. {{ form.password.label_tag }}
  81. {{ form.password }}
  82. </div>
  83.  
  84. <div class="submitb">
  85. <input type="submit" value="Log In" name="mybtn">
  86.  
  87. </div>
  88.  
  89. <div class="resetb">
  90. <input type="submit" value="Reset">
  91. <a href="#forgotpwd">Forgot password?</a>
  92.  
  93. </div>
  94.  
  95. <input type="hidden" name="next" value="{{ next }}" />
  96.  
  97.  
  98.  
  99.  
  100. </form>
  101. </section>
  102.  
  103.  
  104.  
  105.  
  106. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement