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

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

Créer un modèle

Django a un ORM (Object Relationship Mapping). ORM fait référence à la capacité de convertir entre le code source du programme et les données de base de données. Dans le cas de Django, décrivez-le dans modele.py avec Pythn.

Maintenant, écrivons le modèle Post.

/crud/blog/models.py


from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone


class Post(models.Model):
    #Titre CHAR jusqu'à 100 caractères
    title = models.CharField(max_length=100)
    #Texte du contenu
    content = models.TextField()
    #Contrainte de clé externe de l'auteur(Relation un-à-plusieurs)Supprimer les données enfants ainsi que les données parent de l'utilisateur
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    #Date de publication Type de date Heure actuelle
    date_posted = models.DateTimeField(default=timezone.now)

    #Afficher le réglage de l'écran de gestion Afficher le titre
    def __str__(self):
        return self.title

migration

(crud-_w5mSGH2) C:\django\crud>python manage.py makemigrations
Migrations for 'blog':
  blog\migrations\0001_initial.py
    - Create model Post

(crud-_w5mSGH2) C:\django\crud>

Les fichiers suivants sont générés automatiquement. Vous n'êtes pas obligé de le modifier.

/crud/blog/migrations/0001_initial.py


# Generated by Django 3.1.1 on 2020-10-12 12:32

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('content', models.TextField()),
                ('date_posted', models.DateTimeField(default=django.utils.timezone.now)),
                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]

Mon grand

(crud-_w5mSGH2) C:\django\crud>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, blog, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying blog.0001_initial... OK
  Applying sessions.0001_initial... OK

(crud-_w5mSGH2) C:\django\crud>

Enregistrer les données

S'il s'agit d'un blog original, je publierai un article depuis l'écran de publication, mais je ne l'ai pas encore implémenté. Django dispose d'un écran de gestion à partir duquel vous pouvez enregistrer des données. Par conséquent, je souhaite enregistrer une fois les données d'article à partir de l'écran de gestion.

Afficher le message sur l'écran de gestion

Vous devez dire à Django ce que vous voulez voir sur l'écran d'administration. Modifions les fichiers suivants.

crud/blog/admin.py


from django.contrib import admin
from .models import Post

admin.site.register(Post)

Créer un utilisateur administrateur

Créez un utilisateur administrateur pour vous connecter à l'écran d'administration. Utilisateur: admin Mot de passe: pass

(crud-_w5mSGH2) C:\django\crud>python manage.py createsuperuser
Nom d'utilisateur(leave blank to use 'wmgoz'): admin
adresse mail: ***@***.com #← Veuillez utiliser votre propre courrier
Password:
Password (again):
Ce mot de passe est trop court. Au moins 8 caractères sont requis.
Ce mot de passe est trop courant.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

(crud-_w5mSGH2) C:\django\crud>

Connectez-vous à l'écran de gestion

Lançons le serveur de développement et connectons-nous à l'écran de gestion.

python manage.py runserver

Ensuite, accédons à l'écran de gestion "http://127.0.0.1:8000/admin/". image.png L'écran de gestion suivant a été affiché. image.png

Essayez d'enregistrer les données!

Cliquez sur "+ Ajouter" à côté de "Messages" sur l'écran de gestion pour procéder à la saisie des données.

Enregistrement des données ①: image.png

Enregistrement des données ②: image.png

Deux articles ont été publiés. image.png

C'est tout pour aujourd'hui. 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
Essayez d'utiliser le framework Web Python Tornado Partie 1
Créer une carte Web en utilisant Python et GDAL
Exécutez des fichiers Python à partir de HTML en utilisant Django
Essayez d'utiliser le framework Web Python Tornado Partie 2
Créez un fichier MIDI en Python en utilisant pretty_midi
Créez une interface graphique sur le terminal à l'aide de curses
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éons un système de réception simple avec le framework sans serveur Python Chalice et Twilio
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur
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
[Python] Masquez l'image dans un cercle à l'aide de Pillow
Rechercher la table à l'aide de sqlalchemy et créer un dictionnaire
[Python] Changeons l'URL du site administrateur de Django
Créer un plugin Wox (Python)
Créer une fonction en Python
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