[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~

Liste des séries (sera mise à jour lorsque tous les articles seront terminés)

Ajouter une application d'enregistrement d'utilisateur

Créer une application

Créez une application d'enregistrement d'utilisateur (inscrivez-vous).

python manage.py startapp register

Enregistrez votre application avec Django

Pour enregistrer une application, écrivez la classe d'application dans /crud//apps.py dans INSTALLED_APPS dans /crdu/config/setings.py.

/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'

Créer des vues

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

Définir URLConf

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éer un test HTML

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>

Contrôle de fonctionnement (test HTML)

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

Créer un formulaire

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'

Modifier le HTML

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>

Réparer URLConf

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

Contrôle de fonctionnement

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

image.png

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

Vérifiez le nouvel utilisateur enregistré. Accédez à "http://127.0.0.1:8000/admin/auth/user/" et l'écran suivant s'affichera. confirmer. image.png

C'est tout pour cette fois. Merci beaucoup.

Recommended Posts

[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 1 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
Essayez de créer une application Todo avec le framework Django REST
Créer une interface graphique python à l'aide de tkinter
Créer un framework de décorateur à usage général pour Python
Installer le framework Python django à l'aide de pip
Créer une API CRUD à l'aide de l'API rapide
Essayez d'utiliser le framework Web Python Django (2) - Regardez setting.py
Implémentation de CRUD à l'aide de l'API REST avec Python + Django Rest framework + igGrid
Créer un graphique à l'aide du module Sympy
[Python] Créer un environnement Batch à l'aide d'AWS-CDK
[Ev3dev] Créez un programme qui capture LCD (écran) en utilisant python
Créer une API REST pour faire fonctionner dynamodb avec le Framework Django REST
Créez une application de gestion de score shogi à l'aide de Django 3 ~ Paramètres du site de gestion par défaut de Django ~
Essayez d'utiliser le framework web de Python Django (1) - De l'installation au démarrage du serveur
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Créer un fichier GIF en utilisant Pillow en Python
Exécutez des fichiers Python à partir de HTML en utilisant Django
Créez un fichier MIDI en Python en utilisant pretty_midi
Créez une interface graphique sur le terminal à l'aide de curses
Créer un planning Django
Framework Web Django Python
Créer un module Python
Créer un environnement Python
Créer en Python sans fichier image factice dans Django et tester le téléchargement de l'image
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur
Essayez de créer un site de gestion Todo en utilisant WebSocket avec Django (Swamp Dragon)
Créer un bot de collecte de données en Python à l'aide de Selenium
Créer une application Todo avec Django REST Framework + Angular
Découpez une partie de la chaîne à l'aide d'une tranche Python
(Python) Essayez de développer une application Web en utilisant Django
[Python] Générer ValueObject avec un constructeur complet à l'aide de classes de données
Remarque DJango: depuis le début (en utilisant une vue générique)
Construire un environnement virtuel Python en utilisant venv (Django + MySQL ①)
[Django Rest Framework] Personnalisez la fonction de filtre à l'aide de Django-Filter
Rechercher la table à l'aide de sqlalchemy et créer un dictionnaire
[Python] Changeons l'URL du site administrateur de Django
Créer un dictionnaire en Python
[S3] CRUD avec S3 utilisant Python [Python]
Création de liste de tâches [Python Django]
Créer une page d'accueil avec django
Créer des tickets JIRA en utilisant Python
Créer un tableau numpy python
Créer un écran de connexion Django
Créer un répertoire avec python
Créez une application de gestion de partition shogi à l'aide de Django 4 ~ Créer une vue ~
Créer une portée locale en Python sans polluer l'espace de noms
Probablement le moyen le plus simple de créer un pdf avec Python 3
Essayez une recherche similaire de recherche d'images à l'aide du SDK Python [Recherche]
Créez un robot de réponse automatique en temps réel à l'aide de l'API Twitter Streaming
Comment générer une requête à l'aide de l'opérateur IN dans Django
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
J'ai essayé de créer une API RESTful en connectant l'API rapide du framework Python explosif à MySQL.
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!