Cela fait un an et demi que j'ai commencé à apprendre Django. Enfin, j'ai pu créer une application Web simple (modoki) de mes propres mains, je l'enregistrerai donc après l'avoir examinée. Nous espérons que vous partagerez le peu de connaissances que l'éternel programmeur débutant a acquis et que vous aiderez ceux qui trébuchent au premier pas.
Nous allons réduire autant que possible les choses compliquées et gênantes, créer une application Web simplifiée et nous spécialiser dans l'apprentissage du fonctionnement de Django. Donc, il ne teste pas comme Django Tutorial # 5, il n'utilise pas de CSS, il ne se déploie pas. Le soi-disant frontal est mis de côté pour le moment. Ne comprenez que ce qui est connecté et comment il se déplace autour du back-end. Si vous implémentez CRUD (créer, lire, mettre à jour, supprimer) et vous déplacer en toute sécurité, vous atteindrez l'objectif. (Ne me demandez pas s'il s'agit d'une application Web même si je ne peux pas me connecter à Internet.)
Les personnes qui ont terminé les didacticiels Django et Django Girls, mais qui ne semblent pas savoir ce qui se passe et pensent qu'il est impossible de créer une application Web par elles-mêmes.
On dit souvent que "Django est un framework d'application Web qui utilise Python", mais cela ne vient pas à l'esprit. D'après ce que j'ai compris, qu'est-ce qu'une application Web? Lorsqu'on lui a demandé: «Quelles sont les informations (ou données) extraites de la base de données (base de données) et affichées», quel est le cadre? Lorsqu'on lui a demandé, "une boîte à outils contenant divers outils pour faciliter le travail (extraction et affichage des informations)" est répondu.
Si vous imaginez ce que Django fait en interne, cela ressemble à la figure ci-dessous. Je sors les informations de la boîte pleine d'informations et les affiche sur le babillard.
Si vous créez ou modifiez les quatre fichiers ci-dessus dans l'ordre, cela fonctionnera au moins.
Si vous avez suivi le didacticiel, vous devriez pouvoir continuer jusqu'à ce que Django fonctionne. Les liens ci-dessous sont pour votre référence.
Procédure pour développer Django avec VSCode
Après avoir affiché la page de lancement de la fusée, entrez la commande pour créer une application à partir de l'environnement virtuel. Le nom de cette application est myapp
(myenv)$ python manage.py startapp myapp
Puis modifiez config / setting.py
--Ajout de myapp
à INSTALLED_APPS
--Ajout de [os.path.join (BASE_DIR, 'templates')],
à TEMPLATES
--Fixed LANGUAGE to ja
--Créez un répertoire de modèles dans la même hiérarchie que manage.py --Créez un répertoire statique dans la même hiérarchie que manage.py
Il doit avoir la structure de répertoires et la structure de fichiers suivantes (extraits uniquement des principaux).
.
├── config #J'ai utilisé config comme référence pour les "manuels de base Django pouvant être utilisés sur le terrain"
│ ├── settings.py
│ ├── urls.py
├── db.sqlite3
├── myenv
│ ├── bin
│ ├── include
├── manage.py
├── myapp
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── static #L'emplacement du répertoire statique et du répertoire des modèles dépend du didacticiel
└── templates #Cela peut être différent, mais gérer.Il semble que la même hiérarchie que py soit bonne
Ceci termine toutes les étapes de préparation.
Lorsque vous vous fixez un objectif. L'application Web qui est créée est «Enregistrement de visionnage de film». Une liste des films que j'ai regardés apparaît dans la liste, et lorsque je clique sur le titre, l'impression du film ressort. Une version très simple d'un film Yahoo. Objectif si vous pouvez implémenter ce CRUD (Créer, Lire, Mettre à jour, Supprimer). Si vous ne fixez pas cet objectif, il n'y a pas de fin à ce que vous pouvez faire lorsque vous commencez à vous y tenir, et lorsque vous commencez à poursuivre des fonctions difficiles, une belle apparence et une facilité d'utilisation, vous serez submergé par la distance de l'objectif. Ce qui suit est une image vague du produit fini.
Ce serait bien si les fonctions suivantes pouvaient y être implémentées.
Tout d'abord, je veux commencer à faire une boîte pour mettre des informations = faire un modèle.
J'ai écrit plus tôt que faire un modèle, c'est "faire une boîte pour y mettre des informations", mais en d'autres termes, "faire un tableau". Une image de faire plusieurs petits tableaux et de les «relier» pour faire une grande liste. Cette fois, nous allons créer une table appelée Movie, une table appelée Director et une table appelée Log. Le code source est le suivant.
myapp/models.py
from django.db import models #Apportez des outils pour faire une table
from django.utils import timezone #Apportez des outils pour gérer le temps
class Director(models.Model): #Créer une table appelée Director
name = models.CharField(max_length=100, verbose_name="réalisé par") #nameというfieldに文字列でréalisé par名を入れる宣言
def __str__(self): #Les deux lignes suivantes sont des fonctions permettant d'afficher le nom du directeur lors de la saisie des données via le site de gestion.
return self.name
class Movie(models.Model): #Créer un tableau appelé Movie
title = models.CharField(max_length=100, verbose_name="Titre")
watch_date = models.DateField() #J'ai apporté un outil appelé fuseau horaire, pour que je puisse saisir des données de date
director = models.ForeignKey(Director, on_delete=models.CASCADE, verbose_name="réalisé par", related_name='movie')
def __str__(self): #Déclaration que le champ appelé directeur sera lié à partir de la "table appelée directeur"
return self.title #related_Le nom sera expliqué en détail dans un autre temps.
class Log(models.Model): #Créez une table appelée Journal
text = models.TextField() #Déclaration que le champ appelé texte est un endroit pour entrer de nombreuses chaînes de caractères
movie = models.ForeignKey(Movie, on_delete=models.CASCADE, verbose_name="Titre", related_name='log')
def __str__(self): #Déclaration selon laquelle le champ appelé film sera lié à partir de la "table appelée Movie"
return self.text #self.Il est affiché avec le contenu saisi lors de la saisie des données à l'aide du site de gestion avec texte
Imaginez que vous puissiez créer quelque chose comme la figure ci-dessous avec le code source ci-dessus.
Une fois que models.py est créé, il s'agit d'un dessin de conception, donc reflétez-le dans la base de données.
(myenv) $ python manage.py makemigrations
(myenv) $ python manage.py migrate
Le tableau est complet, mais il n'y a pas de contenu (données). Vous pouvez entrer les données de python manage.py shell
, mais c'est plus facile et plus facile à imaginer en entrant les données du site de gestion. Enregistrez le modèle dans admin.py pour utiliser le site d'administration
myapp/admin.py
from django.contrib import admin
from myapp.models import Director, Movie, Log #Ajouter cette partie
admin.site.register(Director) #Il existe peut-être un moyen de tout enregistrer en même temps
admin.site.register(Movie) #J'apprécierais que quelqu'un puisse m'apprendre
admin.site.register(Log)
Configurer un superutilisateur pour utiliser le site d'administration
(myenv) $ python manage.py createsuperuser
#Définissez le nom d'utilisateur, l'adresse e-mail, le mot de passe, etc.
Entrez des données du site d'administration (127.0.0.1:8000/admin)
Maintenant que models.py est terminé et que les données sont entrées, la première étape est terminée. La prochaine fois, j'expliquerai où afficher dans urls.py, comment récupérer des informations dans views.py, comment créer un modèle et afficher ces informations.
--Django facilite le travail en récupérant et en affichant les informations stockées dans la base de données.
Continuer à la prochaine fois Les débutants de Django créent des applications simples 2
Recommended Posts