implemented login system
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>SIK - Login</title>
|
||||
</head>
|
||||
<body>
|
||||
<div>{{ error }}</div>
|
||||
<form method="POST" action="">
|
||||
<div> Käyttäjätunnus
|
||||
<input type="text" name="username" placeholder="Keijo Kiltalainen"></input>
|
||||
</div>
|
||||
<div> Salasana
|
||||
<input type="password" name="passwd" placeholder="abc123"></input>
|
||||
</div>
|
||||
<input type="submit" value="Kirjaudu">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
+29
-2
@@ -1,3 +1,30 @@
|
||||
from django.shortcuts import render
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth import login, logout, authenticate
|
||||
from django.views.decorators.http import require_http_methods
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def main_index(request, *args, **kwargs):
|
||||
return redirect("http://sahkoinsinoorikilta.fi/")
|
||||
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def login_view(request, *args, **kwargs):
|
||||
if request.method == "POST":
|
||||
uname = request.POST.get("username", None)
|
||||
pw = request.POST.get("passwd", None)
|
||||
user = authenticate(username=uname, password=pw)
|
||||
if user is not None:
|
||||
login(request, user)
|
||||
original_site = request.GET.get("next",None) or "/"
|
||||
return redirect(original_site)
|
||||
return render(request, "login.html", {"error":"kirjautuminen kosahti. koita uudelleen"})
|
||||
# user got here by a get request
|
||||
user = request.user
|
||||
if user.is_authenticated():
|
||||
return redirect("/") # user shoud not be here authenticated with get but get rid if is
|
||||
return render(request, "login.html", {})
|
||||
|
||||
@require_http_methods(["POST"])
|
||||
def logout_view(request, *args, **kwargs):
|
||||
logout(request)
|
||||
return redirect("/")
|
||||
|
||||
# Create your views here.
|
||||
|
||||
Reference in New Issue
Block a user