Skip to content
Snippets Groups Projects
Commit 399ac32b authored by Dorian Lesbre's avatar Dorian Lesbre
Browse files

Added account creation form

parent 56d7a066
No related branches found
No related tags found
No related merge requests found
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from home.models import InterludesParticipant
class CreateAccountForm(UserCreationForm):
"""Form used to register a new user"""
class Meta:
model = User
fields = ('username', 'password1', 'password2',)
from django.urls import include, path
import django.contrib.auth.views as dj_auth_views
from .views import logout
app_name = "accounts"
from accounts.views import create_account, logout_view
accounts_patterns = [
path("login/", dj_auth_views.LoginView.as_view(), name="login"),
path("logout/", logout, name="logout"),
]
app_name = "accounts"
urlpatterns = [
path("", include(accounts_patterns)),
path("login/", dj_auth_views.LoginView.as_view(), name="login"),
path("logout/", logout_view, name="logout"),
path("create/", create_account, name="create")
]
from django.shortcuts import render, redirect
from django.contrib.auth import logout as auth_logout
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from accounts.forms import CreateAccountForm
@login_required
def logout(req):
auth_logout(req)
return redirect("home")
def logout_view(request):
"""Vue pour se deconnecter"""
logout(request)
return redirect("home")
def create_account(request):
"""Vue pour l'inscription"""
if request.method == 'POST':
form = CreateAccountForm(request.POST)
if form.is_valid():
user = form.save()
user.refresh_from_db()
# load the profile instance created by the signal
user.save()
raw_password = form.cleaned_data.get('password1')
# login user after signing up
user = authenticate(username=user.username, password=raw_password)
login(request, user)
# redirect user to home page
return redirect('home')
else:
form = CreateAccountForm()
return render(request, 'registration/create_account.html', {'form': form})
......@@ -161,6 +161,12 @@ dl dd {
text-align: left;
}
span.helptext {
color: #444444;
font-size: 0.8em;
font-style: italic;
}
input[type=submit] {
color: white;
background-color: var(--color_bg_1);
......@@ -173,6 +179,13 @@ input[type=submit]:hover {
background-color: var(--color_bg_2);
}
ul.errorlist {
color: red;
font-size: 0.8em;
list-style-type: none;
padding-left: 5px;
}
div.error {
color: red;
border: 2px solid red;
......
{% extends "base.html" %}
{% block "content" %}
<h2>Créer un compte</h2>
{% if form.errors %}
<div class="error">Formulaire invalide. Veuillez corriger les erreurs et le renvoyer.</div>
{% endif %}
<form method="post" action="{% url 'accounts:create' %}">
{% csrf_token %}
<table>
{{ form }}
</table>
<input type="submit" value="Valider">
</form>
{% endblock %}
......@@ -30,8 +30,8 @@
</table>
<br>
<input type="submit" value="connexion" />
<input type="hidden" name="next" value="{{ next }}" />
<input type="submit" value="Connexion">
<input type="hidden" name="next" value="{{ next }}">
</form>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment