Erstellen Sie eine Benutzerregistrierungs-App (registrieren).
python manage.py startapp register
Um eine App zu registrieren, schreiben Sie die App-Klasse in /crud/
/crud/config/setting.py
INSTALLED_APPS = [
'register.apps.RegisterConfig',
***
]
※Referenz
/crud/register/apps.py
from django.apps import AppConfig
class RegisterConfig(AppConfig):
name = 'register'
Dies bedeutet, dass die Anmeldefunktion mit der Anforderung als Argument ausgeführt wird und /crud/register/templates/register/signup.html zurückgibt, wodurch das Formular gerendert wurde.
/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 bezieht sich auf die Funktion, die die URL von Django verwaltet und in der Datei urls.py verwaltet. URLConf kann zentral von PJs urls.py verwaltet werden, aber dieses Mal möchte ich die Bildschirmübergänge in der App mit der URLConf der App verwalten und die URLConf des PJ davor platzieren.
Das heißt, fügen Sie die URLConf der App in die URLConf des PJ ein und implementieren Sie die URL- und Ansichtszuordnung in der URLConf der App.
** PJ URLConf ** Bitte geben Sie die Register-App urls.py an, damit Sie wieder auf "http: // *** /" zugreifen können.
/crud/config/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
***
path('', include('register.urls')),
***
]
** App URL Conf ** Wenn Sie auf "http: // *** / signup /" zugreifen, müssen Sie die Anmeldefunktion in views.py zurückgeben.
/crud/register/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('signup/', views.signup, name='signup'),
]
Erstellen Sie den zugehörigen HTML-Code in views.py. Schreiben Sie zunächst HTML, das keine Argumente verwendet (nicht rendert), als Test-HTML.
/crud/register/templates/register/signup.html
<h1>signup</h1>
python manage.py runserver
Rufen Sie "[http://127.0.0.1:8000/signup/ weibliches (http://127.0.0.1:8000/signup/)" auf und bestätigen Sie, dass der folgende Bildschirm angezeigt wird.
Erstellen Sie ein Benutzerregistrierungsformular. Sie können das HTML-Eingabe-Tag verwenden, aber Django verfügt über praktische Django-Crispy-Formulare.
Installieren Sie Django-Crispy-Formen
pipenv install django-crispy-forms
Bearbeiten Sie settings.py, um Django-Crispy-Formen auf Django anzuwenden.
/crud/config/setting.py
INSTALLED_APPS = [
***
'crispy_forms',
]
CRISPY_TEMPLATE_PACK = 'bootstrap4'
Wenden Sie Django-Crispy-Formulare auf HTML an. Schreiben Sie {{form | crispy}}. Vergessen Sie nicht, {% load crispy_forms_tags%} zu laden.
/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>
Umleiten Sie für die POST-Methode nach Hause. Wenn sie unterschiedlich sind, werden die Eingabedaten vererbt und die Benutzerregistrierungsseite wird erneut angezeigt.
/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
Rufen Sie "[http://127.0.0.1:8000/signup/ weibliches (http://127.0.0.1:8000/signup/)" auf und bestätigen Sie, dass der folgende Bildschirm angezeigt wird.
Gib Folgendes ein: Benutzername: testuser1 Passwort: Testpass Passwort (zur Bestätigung): Testpass
Klicken Sie auf die Schaltfläche "Senden", um den Benutzer zu registrieren. Vergewissern Sie sich nach Abschluss der Benutzerregistrierung, dass der Bildschirm in den Bildschirm HOME wechselt.
Überprüfen Sie den neu registrierten Benutzer. Greifen Sie auf "http://127.0.0.1:8000/admin/auth/user/" zu. Der folgende Bildschirm wird angezeigt. bestätigen.
Das ist alles für diese Zeit. Vielen Dank.
Recommended Posts