[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~

Serienliste (wird aktualisiert, wenn alle Artikel fertig sind)

Benutzerregistrierungs-App hinzufügen

Erstellen Sie eine App

Erstellen Sie eine Benutzerregistrierungs-App (registrieren).

python manage.py startapp register

Registrieren Sie Ihre App bei Django

Um eine App zu registrieren, schreiben Sie die App-Klasse in /crud//apps.py in INSTALLED_APPS in /crdu/config/setings.py.

/crud/config/setting.py


INSTALLED_APPS = [
    'register.apps.RegisterConfig',
    ***
]

※Referenz

/crud/register/apps.py


from django.apps import AppConfig


class RegisterConfig(AppConfig):
    name = 'register'

Ansichten erstellen

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})

Stellen Sie URLConf ein

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 Test-HTML

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>

Funktionsprüfung (HTML testen)

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. image.png

Erstellen Sie ein Formular

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'

HTML ändern

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>

Fix URLConf

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})

Funktionsprüfung

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

image.png

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. image.png

Ü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. image.png

Das ist alles für diese Zeit. Vielen Dank.

Recommended Posts

[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 1 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie ein universelles Dekorationsframework für Python
Installieren Sie das Python Framework Django mit pip
Erstellen Sie die CRUD-API mit der Fast API
Versuchen Sie es mit dem Python-Webframework Django (2). Schauen Sie sich settings.py an
Implementierung von CRUD mithilfe der REST-API mit Python + Django Rest Framework + igGrid
Erstellen Sie mit dem Sympy-Modul ein Diagramm
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
[Ev3dev] Erstellen Sie ein Programm, das das LCD (Bildschirm) mit Python erfasst
Erstellen Sie eine REST-API, um dynamodb mit dem Django REST Framework zu betreiben
Erstellen Sie eine Shogi-Score-Management-App mit Django 3 ~ Django Standard-Management-Site-Einstellungen ~
Versuchen Sie es mit Pythons Webframework Django (1) - Von der Installation bis zum Serverstart
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Erstellen Sie eine GIF-Datei mit Pillow in Python
Führen Sie Python-Dateien mit Django aus HTML aus
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Erstellen Sie eine GUI auf dem Terminal mit Flüchen
Erstellen Sie einen Django-Zeitplan
Django Python Web Framework
Erstellen Sie ein Python-Modul
Erstellen Sie eine Python-Umgebung
Testen Sie das Hochladen von Bildern, indem Sie in Python erstellen, ohne Dummy-Bilddateien in Django zu platzieren
Erstellen Sie ein Django-Projekt und eine Django-Anwendung in einer virtuellen Python-Umgebung und starten Sie den Server
Versuchen Sie, mit WebSocket mit Django (Swamp Dragon) eine Todo-Verwaltungssite zu erstellen.
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
Erstellen Sie eine Todo-App mit Django REST Framework + Angular
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
[Python] Generieren Sie ValueObject mit dem vollständigen Konstruktor mithilfe von Datenklassen
DJango Hinweis: Von Anfang an (mit einer generischen Ansicht)
Erstellen Sie eine virtuelle Python-Umgebung mit venv (Django + MySQL ①)
[Django Rest Framework] Passen Sie die Filterfunktion mit Django-Filter an
Durchsuchen Sie die Tabelle mit sqlalchemy und erstellen Sie ein Wörterbuch
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Erstellen Sie ein Wörterbuch in Python
[S3] CRUD mit S3 unter Verwendung von Python [Python]
ToDo-Listenerstellung [Python Django]
Erstellen Sie eine Homepage mit Django
Erstellen Sie JIRA-Tickets mit Python
Erstellen Sie ein Python-Numpy-Array
Erstellen Sie einen Django-Anmeldebildschirm
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
Erstellen Sie mithilfe der Twitter-Streaming-API einen Echtzeit-Bot für die automatische Antwort
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
[Python] Erstellen Sie mit Django einen Bildschirm für den HTTP-Statuscode 403/404/500
Ich habe versucht, eine RESTful-API zu erstellen, indem ich die explosive Fast-API des Python-Frameworks mit MySQL verbunden habe.
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!