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
(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)),
],
),
]
(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>
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.
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é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>
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/". L'écran de gestion suivant a été affiché.
Cliquez sur "+ Ajouter" à côté de "Messages" sur l'écran de gestion pour procéder à la saisie des données.
Enregistrement des données ①:
Enregistrement des données ②:
Deux articles ont été publiés.
C'est tout pour aujourd'hui. Merci beaucoup.