Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- {% load staticfiles %}
- <link rel="stylesheet" href={% static 'style.css' %}>
- <script src={% static 'jquery-2.2.4.min.js' %}></script>
- <script src={% static 'jquery.mobile-1.4.5.min.js' %}></script>
- <link rel="stylesheet" href={% static "jquery.mobile-1.4.5.min.css" %}>
- <meta name="viewport" content="initial-scale=1">
- </head>
- <body>
- <div id='login' data-role="page">
- <div data-role="header">
- <h1 class="title">Login</h1>
- <a data-transition="slide" id="to_new_account" class='ui-btn-right' href="#create_account">create</a>
- </div>
- <div data-role="content">
- <form id="login_form" action="" method="POST">
- {% csrf_token %}
- <input type="text" value="username" name="username"> <br>
- <input type="text" value="password" name="password"> <br>
- <input type="submit" value="login" name="login_button">
- </form>
- </div>
- </div>
- <div id="create_account" data-role="page">
- <div data-role="header">
- <h1 class="title">new</h1>
- <a data-transition="slide" data-direction="reverse" class="button" href="#login">login</a>
- </div>
- <div data-role="content">
- <form id="create_form" action="" method="POST">
- {% csrf_token %}
- <input type="text" value="username" name="username"> <br>
- <input type="text" value="password" name="password"> <br>
- <input type="text" value="email" name="email"> <br>
- <input type="text" value="name" name="name"> <br>
- <input type="text" value="age" name="age"> <br>
- <input type="submit" value="create" name="create_button">
- </form>
- </div>
- </div>
- </body>
- </html>
- from django.urls import path, re_path
- from lincup_main import views
- urlpatterns = [
- re_path(r'^$', views.LoginPage.as_view(), name='login'),
- re_path(r'^profile/$', views.ProfileView.as_view(), name='profile'),
- ]
- class LoginPage(View):
- template = 'login.html'
- profile_form = ProfileForm
- login_form = LoginForm
- def get(self, request):
- return render(request, self.template)
- def post(self, request):
- if 'login_button' in request.POST:
- login_form = self.login_form(request.POST)
- if login_form.is_valid():
- username = login_form.instance.username
- password = login_form.instance.password
- user = authenticate(username=username, password=password)
- if user is not None:
- login(request, user)
- return redirect('profile', permanent=True)
- elif 'create_button' in request.POST:
- profile = self.profile_form(request.POST)
- if profile.is_valid():
- #saves user to database
- profile.save()
- #creates django user from form data
- username = profile.instance.username
- password = profile.instance.password
- email = profile.instance.email
- user = User.objects.create_user(username, email, password)
- user.save()
- #add error for username taken or not valid input
- return render(request, self.template)
- class ProfileView(LoginRequiredMixin, View):
- template = 'profile.html'
- def get(self, request):
- return render(request, self.template)
- def post(self, request):
- logout(request)
- return redirect('login')
- def handler404(request, exception):
- return redirect('login')
Add Comment
Please, Sign In to add comment