Conditions préalables
Avant de mettre en pratique les exemples de ce didacticiel, vous devez effectuer les tâches suivantes.
- Installez la version Django 3+ sur Ubuntu 20+ (de préférence)
- Créer un projet Django
- Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.
Configurez une application Django :
Exécutez la commande suivante pour créer une application Django nommée application modèle.
$ python3 gérer.py startapp modelappExécutez la commande suivante pour créer l'utilisateur permettant d'accéder à la base de données Django. Si vous avez déjà créé l'utilisateur, vous n'avez pas besoin d'exécuter la commande.
$ python3 gérer.py createsuperuserAjoutez le nom de l'application dans le INSTALLED_APP partie de la py déposer.
INSTALLED_APPS = […
'application modèle
]
Créer un dossier nommé modèles à l'intérieur de application modèle dossier et définissez le des modèles emplacement de l'application dans le MODÈLES partie de la py déposer.
MODÈLES = [… .
'DIRS' : ['/home/fahmida/django_pro/modelapp/templates'],
… .
,
]
Créez un modèle pour la table de base de données :
Ouvrez le des modèles.py fichier de la application modèle dossier et ajoutez le script suivant pour définir la structure de deux tables relationnelles. Prof la classe est définie pour créer une table nommée enseignants avec nom, service, email, et téléphoner des champs. Cours la classe est définie pour créer une table nommée cours avec code, nom, crédit, et prof des champs. Ici le prof domaine de Cours table est la clé étrangère qui apparaîtra à partir du Enseignants tableau.
des modèles.py
# Module d'importation de modèlesde Django.modèles d'importation de base de données
# Créer une classe pour définir la structure de la table Teachers
Professeur de classe (modèles.Modèle):
nom = modèles.CharField(max_length=50)
département = modèles.CharField(max_length=20)
email = modèles.Champ de messagerie (longueur_max=100)
téléphone = modèles.CharField(max_length=50)
# Créer une classe pour définir la structure de la table Courses
cours de classe (modèles.Modèle):
code = modèles.CharField(max_length=10)
nom = modèles.CharField(max_length=50)
crédit = modèles.ChampFlottant()
professeur = modèles.ForeignKey(Enseignant, on_delete=modèles.CASCADE)
Exécutez le faire des migrations commande pour créer une nouvelle migration basée sur les modifications apportées par les modèles.
$ python3 gérer.application de modèle py makemigrationsExécutez le émigrer commande pour exécuter les commandes SQL et créer toutes les tables dans la base de données définie dans le des modèles.py déposer.
$ python3 gérer.py migrerModifier le contenu de la administrateur.py fichier avec le contenu suivant. Ici, Prof et Cours les classes des modèles sont enregistrées en utilisant le S'inscrire() méthode pour afficher le Enseignants et Cours tables dans le tableau de bord d'administration Django.
administrateur.py
# Importer le module d'administrationde Django.administrateur d'importation de contribution
# Importer les modèles
de .modèles d'importation Enseignant
de .modèles d'importation
# Enregistrez les modèles
administrateur.placer.s'inscrire (professeur)
administrateur.placer.s'inscrire (Cours)
Définir l'URL pour la connexion administrateur :
Le chemin de la connexion administrateur est défini dans le URL.py fichier pour n'importe quelle application Django par défaut. Si le chemin n'est pas défini dans le fichier, modifiez le URL.py fichier avec le script suivant pour ouvrir le tableau de bord d'administration Django intégré pour le chemin' administrateur/'.
URL.py
# Importer le module d'administrationde Django.administrateur d'importation de contribution
# Module de chemin d'importation
de Django.chemin d'importation des URL
# Définir le chemin pour l'administrateur
urlpatterns = [
chemin('admin/', admin.placer.URL),
]
Insérer des enregistrements dans les tables :
Exécutez l'URL suivante à partir du navigateur pour ouvrir le tableau de bord d'administration Django.
http://localhost:8000/admin
Les tableaux suivants seront affichés pour l'application modèle. Tout enregistrement des tables peut être lu, inséré, mis à jour et supprimé de cette page.
Cliquez sur le tableau Enseignants pour insérer des enregistrements dans le tableau. Un formulaire avec les champs nécessaires comme l'image suivante apparaîtra pour l'insertion de l'enregistrement. Il y a trois boutons dans le formulaire pour insérer des enregistrements dans la table. 'Enregistrer et ajouter un autreLe bouton ' est utilisé pour insérer l'enregistrement et ouvrir à nouveau le formulaire pour insérer l'enregistrement suivant. Le 'Enregistrer et continuer l'éditionLe bouton ' est utilisé pour insérer l'enregistrement et ouvrir à nouveau le formulaire avec les données à éditer. Le 'SauvegarderLe bouton ' est utilisé pour insérer l'enregistrement uniquement. Chaque formulaire d'inscription contiendra ces trois boutons.
Après avoir inséré les deux fiches de l'enseignant, les informations suivantes apparaîtront dans le navigateur.
Le formulaire suivant apparaîtra après avoir cliqué sur le tableau des cours. L'enseignant domaine de la Cours le tableau est lié au Enseignants table par la clé étrangère. La liste déroulante avec les objets Enseignant insérés apparaîtra pour ajouter les données de ce champ à partir de la liste.
Après avoir inséré trois enregistrements dans la table Cours, les informations suivantes apparaîtront dans le navigateur. Si vous souhaitez modifier des enregistrements des cours ou de la table des enseignants, cliquez sur cet objet particulier pour ouvrir le formulaire d'édition avec les données existantes.
Vous pouvez afficher les enregistrements des deux tables dans le navigateur en utilisant les vues.py fichier et créer les temples dans l'emplacement du modèle défini. Vous pouvez consulter les didacticiels Django View et Django Template pour ces.
Conclusion
Les données de la table peuvent être consultées ou modifiées par Django Administration Dashboard, comme expliqué dans ce tutoriel. Mais les données peuvent être insérées dans les tables en écrivant un script dans le vues.py fichier avec ou sans utiliser le fichier modèle.