Guest User

Untitled

a guest
Dec 29th, 2018
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. <html>
  2. <head>
  3. {% load staticfiles %}
  4. <link rel="stylesheet" href={% static 'style.css' %}>
  5. <script src={% static 'jquery-2.2.4.min.js' %}></script>
  6. <script src={% static 'jquery.mobile-1.4.5.min.js' %}></script>
  7. <link rel="stylesheet" href={% static "jquery.mobile-1.4.5.min.css" %}>
  8. <meta name="viewport" content="initial-scale=1">
  9. </head>
  10. <body>
  11.  
  12. <div id='login' data-role="page">
  13.  
  14. <div data-role="header">
  15. <h1 class="title">Login</h1>
  16. <a data-transition="slide" id="to_new_account" class='ui-btn-right' href="#create_account">create</a>
  17. </div>
  18.  
  19. <div data-role="content">
  20. <form id="login_form" action="" method="POST">
  21. {% csrf_token %}
  22. <input type="text" value="username" name="username"> <br>
  23. <input type="text" value="password" name="password"> <br>
  24. <input type="submit" value="login" name="login_button">
  25. </form>
  26. </div>
  27.  
  28. </div>
  29.  
  30. <div id="create_account" data-role="page">
  31.  
  32. <div data-role="header">
  33. <h1 class="title">new</h1>
  34. <a data-transition="slide" data-direction="reverse" class="button" href="#login">login</a>
  35. </div>
  36.  
  37. <div data-role="content">
  38. <form id="create_form" action="" method="POST">
  39. {% csrf_token %}
  40. <input type="text" value="username" name="username"> <br>
  41. <input type="text" value="password" name="password"> <br>
  42. <input type="text" value="email" name="email"> <br>
  43. <input type="text" value="name" name="name"> <br>
  44. <input type="text" value="age" name="age"> <br>
  45. <input type="submit" value="create" name="create_button">
  46. </form>
  47. </div>
  48.  
  49. </div>
  50.  
  51. </body>
  52. </html>
  53.  
  54. from django.urls import path, re_path
  55. from lincup_main import views
  56.  
  57. urlpatterns = [
  58. re_path(r'^$', views.LoginPage.as_view(), name='login'),
  59. re_path(r'^profile/$', views.ProfileView.as_view(), name='profile'),
  60. ]
  61.  
  62. class LoginPage(View):
  63. template = 'login.html'
  64. profile_form = ProfileForm
  65. login_form = LoginForm
  66.  
  67. def get(self, request):
  68. return render(request, self.template)
  69.  
  70. def post(self, request):
  71. if 'login_button' in request.POST:
  72. login_form = self.login_form(request.POST)
  73. if login_form.is_valid():
  74. username = login_form.instance.username
  75. password = login_form.instance.password
  76. user = authenticate(username=username, password=password)
  77. if user is not None:
  78. login(request, user)
  79. return redirect('profile', permanent=True)
  80.  
  81. elif 'create_button' in request.POST:
  82. profile = self.profile_form(request.POST)
  83. if profile.is_valid():
  84. #saves user to database
  85. profile.save()
  86. #creates django user from form data
  87. username = profile.instance.username
  88. password = profile.instance.password
  89. email = profile.instance.email
  90. user = User.objects.create_user(username, email, password)
  91. user.save()
  92. #add error for username taken or not valid input
  93.  
  94. return render(request, self.template)
  95.  
  96.  
  97. class ProfileView(LoginRequiredMixin, View):
  98. template = 'profile.html'
  99.  
  100. def get(self, request):
  101. return render(request, self.template)
  102.  
  103. def post(self, request):
  104. logout(request)
  105. return redirect('login')
  106.  
  107. def handler404(request, exception):
  108. return redirect('login')
Add Comment
Please, Sign In to add comment