{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %}{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="{% static 'ownsite/css/style.css' %}" />
</head>
<body>
{% block content %}
<div id="header">
{% if user.is_authenticated %}
<p>Jesteś zalogowany <a href='ownsite/my_view'>{{ user.username }}</a></p>
<p><a href='/accounts/logout_view'>wyloguj</a></p>
{% else %}
<h2>Login</h2>
<form action = '/accounts/login_view/' method = 'post'>{% csrf_token %}
{{form.as_p}}
<input type='submit' value='Log' />
</form>
{% endif %}
</div>
<div id="content">
<div id="left_content">
{% block logout_msg %}
<p> {{ info }} </p>
<p>Nikt nie jest zalogowany w tym momencie.</p>
{% endblock %}
</div>
<div id="right_content">
{% if user.is_authenticated == False %}
<h2>Register</h2>
<form action = '/accounts/register_user/' method = 'post'>{% csrf_token %}
{{form.as_p}}
<input type='submit' value='Register' />
</form>
{% endif %}
</div>
</div>
<div id="footer">
<p>copyright © Dariusz Mysior</p>
</div>
{% endblock %}
</body>
</html>
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.shortcuts import render_to_response, render
from django.http import HttpResponseRedirect
from django.core.context_processors import csrf
from django.contrib.auth import authenticate, login, logout
def login_view(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/accounts/my_view')
else:
# Return a 'disabled account' error message
...
else:
# Return an 'invalid login' error message.
...
form = AuthenticationForm()
args = {}
args.update(csrf(request))
args['form']= AuthenticationForm()
return render_to_response('ownsite/access_ownsite.html', args)#accounts/login.html
def my_view(request):
return render_to_response('accounts/my_view.html', {'username': request.user.username,'user': request.user })
def register_user(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/register_success')
args = {}
args.update(csrf(request))
args['form']= UserCreationForm()
return render_to_response('accounts/register_user.html', args)
def register_success(request):
return render_to_response('accounts/register_success.html')
def logout_view(request):
logout(request)
return render_to_response('accounts/logout_view.html', {'info': 'Właśnie się wylogowałeś.',})
...
C:\Python34\lib\site-packages\django\template\defaulttags.py:66: UserWarning: A {% csrf_token %} was used in a template, but the context did not provide the value. This is usually cause
d by not using RequestContext.
"A {% csrf_token %} was used in a template, but the context "
...
...
...
args['form_login'] = AuthenticationForm()args['form_register'] = UserCreationForm()