Merge branch 'signup' into 'master'

Signup

See merge request bde/photo21!1
This commit is contained in:
erdnaxe 2021-10-07 18:25:29 +02:00
commit 61eadc9d60
9 changed files with 58 additions and 3 deletions

5
accounts/apps.py Normal file
View file

@ -0,0 +1,5 @@
from django.apps import AppConfig
class Accounts(AppConfig):
name = 'accounts'

13
accounts/forms.py Normal file
View file

@ -0,0 +1,13 @@
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class RegistrationForm(UserCreationForm):
email = forms.EmailField(label="Email", widget=forms.TextInput(), required=True)
first_name = forms.CharField(label="Prénom", widget=forms.TextInput(), required=True)
last_name = forms.CharField(label="Nom", widget=forms.TextInput(), required=True)
class Meta:
model = User
fields = ["username", "password1", "password2", "email", "first_name", "last_name"]

View file

@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block content %}
<h1>Création d'utilisateur</h1>
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<br>
<input type="submit" value="Envoyer">
</form>
{% endblock %}

6
accounts/urls.py Normal file
View file

@ -0,0 +1,6 @@
from django.urls import path
from .views import signup
urlpatterns = [
path('', signup, name='registration'),
]

20
accounts/views.py Normal file
View file

@ -0,0 +1,20 @@
from django.contrib.auth import login
from django.shortcuts import redirect, render
from .forms import RegistrationForm
def signup(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
user = form.save()
user.first_name = form.cleaned_data.get('first_name')
user.last_name = form.cleaned_data.get('last_name')
user.email = form.cleaned_data.get('email')
login(request, user)
return redirect('/')
return render(request, 'accounts/registration.html', {'form': form})
else:
form = RegistrationForm()
return render(request, 'accounts/registration.html', {'form': form})

View file

@ -1,5 +1,6 @@
from django.http import HttpResponseRedirect
from django.conf import settings
import ipaddress
import re

View file

@ -43,6 +43,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
'photologue_custom',
'photologue',
'accounts',
'sortedm2m',
'taggit',
]

View file

@ -17,7 +17,6 @@ from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.auth.decorators import login_required
from .views import IndexView
@ -30,6 +29,7 @@ urlpatterns = [
path('i18n/', include('django.conf.urls.i18n')),
path('admin/', admin.site.urls),
path('admin/doc/', include('django.contrib.admindocs.urls')),
path('accounts/registration/', include('accounts.urls'))
]
if settings.DEBUG:

View file

@ -18,7 +18,7 @@ deps =
-r{toxinidir}/requirements.txt
coverage
commands =
coverage run --omit='photo21/wsgi.py' --source=photo21,photologue_custom ./manage.py test
coverage run --omit='photo21/wsgi.py' --source=photo21,photologue_custom,accounts ./manage.py test
coverage report -m
[testenv:linters]
@ -32,7 +32,7 @@ deps =
pep8-naming
pyflakes
commands =
flake8 photo21 photologue_custom
flake8 photo21 photologue_custom accounts
[flake8]
ignore = W503, I100, I101