Créez une application d'enregistrement d'utilisateur (inscrivez-vous).
python manage.py startapp register
Pour enregistrer une application, écrivez la classe d'application dans /crud/
/crud/config/setting.py
INSTALLED_APPS = [
'register.apps.RegisterConfig',
***
]
※référence
/crud/register/apps.py
from django.apps import AppConfig
class RegisterConfig(AppConfig):
name = 'register'
Cela signifie que la fonction d'inscription est exécutée avec une requête comme argument et renvoie /crud/register/templates/register/signup.html qui a rendu le formulaire.
/crud/register/views.py
from django.shortcuts import render
from django.contrib.auth.forms import UserCreationForm
# Create your views here.
def signup(request):
form = UserCreationForm()
return render(request, 'register/signup.html', {'form': form})
URLConf fait référence à la fonction qui gère l'URL de Django et la gère dans le fichier urls.py. URLConf peut être géré de manière centralisée par urls.py de PJ, mais cette fois, je voudrais gérer la transition d'écran dans l'application avec l'URLConf de l'application et placer l'URLConf de PJ devant lui.
Autrement dit, incluez URLConf de l'application dans URLConf de PJ et implémentez le mappage d'url et de vue dans URLConf de l'application.
** PJ URLConf ** Cela signifie s'il vous plaît inclure les urls.py de l'application d'enregistrement afin que vous puissiez revenir à "http: // *** /".
/crud/config/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
***
path('', include('register.urls')),
***
]
** Conf URL d'application ** L'accès à "http: // *** / signup /" signifie que vous devez renvoyer la fonction d'inscription dans views.py.
/crud/register/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('signup/', views.signup, name='signup'),
]
Créez le code HTML associé dans views.py. Tout d'abord, écrivez du HTML qui n'utilise pas d'arguments (ne rend pas) comme HTML de test.
/crud/register/templates/register/signup.html
<h1>signup</h1>
python manage.py runserver
Accédez à "[http://127.0.0.1:8000/signup/[http://127.0.0.1:8000/signup/)" et confirmez que l'écran suivant s'affiche.
Créez un formulaire d'inscription utilisateur. Vous pouvez utiliser la balise d'entrée HTML, mais Django a un django-crispy-forms très pratique.
Installez django-crispy-forms
pipenv install django-crispy-forms
Modifiez setting.py pour appliquer django-crispy-forms à Django.
/crud/config/setting.py
INSTALLED_APPS = [
***
'crispy_forms',
]
CRISPY_TEMPLATE_PACK = 'bootstrap4'
Appliquez django-crispy-forms au HTML. Écrivez {{form | crispy}}. N'oubliez pas de charger {% load crispy_forms_tags%}.
/crud/register/templates/register/signup.html
{% extends 'register/base.html' %}
{% load static %}
{% load crispy_forms_tags %}
<body class="main-layout">
{% block content %}
<div class="container-fluid">
<div class="row">
<div class="col-md-5">
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
</div>
{% endblock content %}
</body>
Pour la méthode POST, redirigez vers la maison. S'ils sont différents, les données d'entrée seront héritées et la page d'enregistrement de l'utilisateur sera à nouveau affichée.
/crud/register/views.py
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
# Create your views here.
def signup(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('blog-home')
else:
form = UserCreationForm()
return render(request, 'register/signup.html', {'form': form})
python manage.py runserver
Accédez à "[http://127.0.0.1:8000/signup/[http://127.0.0.1:8000/signup/)" et confirmez que l'écran suivant s'affiche.
Entrez ce qui suit: Nom d'utilisateur: testuser1 Mot de passe: testpass Mot de passe (pour confirmation): testpass
Cliquez sur le bouton «Soumettre» pour enregistrer l'utilisateur. Après avoir terminé l'enregistrement de l'utilisateur, confirmez que l'écran passera à l'écran HOME.
Vérifiez le nouvel utilisateur enregistré. Accédez à "http://127.0.0.1:8000/admin/auth/user/" et l'écran suivant s'affichera. confirmer.
C'est tout pour cette fois. Merci beaucoup.