Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]

Composition d'articles de commentaires

No. Titre
1 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
2 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (2) [Création de projet]
3 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]
4 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Introduction aux paramètres de routage et aux modèles de conception MTV]
5 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
6 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (6) [MTV design pattern completion]

Environnement de développement

Nous allons poursuivre la discussion en supposant un environnement Mac.

Vérifiez la version Python comme suit.

$ python3 --version
Python 3.5.2

Créer une application

Cette fois, nous allons commencer par créer une application Django.

Créez une application dans votre projet. Ici, nous allons créer un blog en suivant le Tutoriel Django Girls.

$ python3 manage.py startapp blog

La structure des répertoires est la suivante.

myvenv
├── bin
├── blog
├── db.sqlite3
├── include
├── lib
├── manage.py
├── myapp
└── pyvenv.cfg

Après avoir créé l'application, modifiez d'abord le fichier de paramètres. Il s'agit de définir l'application à utiliser sur Django.

Trouvez le code ci-dessous et ajoutez `` blog '' en bas.

myapp/settings.py


# Application definition
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)

Créer un modèle

blogÀ utiliser dansmodelJe ferai. modelEst-ce un objet pratique qui peut stocker des données? Vous pouvez avoir une méthode dans ce modèle '' lui-même, et vous pouvez gérer la communication avec DB sans vous soucier de SQL, etc. grâce à ce modèle ''.

Définissons maintenant le modèle '' pour le blog ''.

blog/models.Ouvrez py et réécrivez-le comme suit.




#### **`blog/models.py`**
```py

from django.db import models
from django.utils import timezone

class Post(models.Model):
    author = models.ForeignKey('auth.User')
    title  = models.CharField(max_length=200)
    text   = models.TextField()
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

L'explication est un peu longue ici, mais ce qui suit est un extrait de l'explication de Django Girls Tutorial uniquement lorsque c'est nécessaire.

class Post (models.Model): --Cette ligne définit ce modèle (c'est l'objet).

  • class est un mot-clé qui indique qu'un objet est défini.

Définissons la propriété:  title、text、created_date、published_date、author Vous devez d'abord décider du type de champ. texte? Nombre? Date? Relations avec d'autres objets, tels que les utilisateurs

De cette façon, il semble déclarer le type de propriété utilisé dans le modèle.

En aparté, dans Ruby on Rails,

$ rails g model post author title text

Puisque le fichier de migration a été créé en déclarant comme, cela semble un peu gênant par rapport à cela.

Maintenant que vous avez défini le modèle, créez un fichier de migration.

$ python3 manage.py makemigrations blog
Migrations for 'blog':
  0001_initial.py:
    - Create model Post

Cela permettra à Django de créer un fichier de migration que vous pourrez mettre dans votre base de données, afin que vous puissiez migrer.

$ python3 manage.py migrate blog
Operations to perform:
  Apply all migrations: blog
Running migrations:
  Rendering model states... DONE
  Applying blog.0001_initial... OK

Le modèle `` Post '' est maintenant reflété avec succès dans la base de données (SQLite).

Confirmation de la base de données

Dans Django, vous pouvez vérifier le modèle avec l'interface graphique via le navigateur afin que même les débutants puissent le comprendre facilement. Cela semble s'appeler Django admin.

Tout d'abord, ouvrez le fichier blog / admin.py``` et modifiez l'administrateur Django pour le modèle de publication que vous venez de créer.

blog/admin.py


from django.contrib import admin
from .models import Post

# Register your models here.
admin.site.register(Post)

Ceci termine les réglages.

Démarrez le serveur et accédez à l'admin Django (http://127.0.0.1:8000/admin) depuis votre navigateur.

Démarrage du serveur


$ python3 manage.py runserver
スクリーンショット 2016-11-11 2.45.57.png

J'espère que vous pourrez accéder à une page Web comme celle-ci. Cependant, l'écran de connexion s'affiche et vous ne vous souvenez pas de l'avoir configuré, n'est-ce pas? Cela devrait être tout, vous devez créer un `` superutilisateur '' (administrateur du site) séparé pour vous connecter.

Créons maintenant `` superutilisateur ''.

Créer un super utilisateur


$ python manage.py createsuperuser
Username (leave blank to use 'your_name'): admin
Email address: [email protected] #Définir l'adresse e-mail individuellement
Password: #Entrer le mot de passe
Password (again): #Mot de passe à nouveau
Superuser created successfully.

Ceci termine la création de superuser` ''. Accédez à nouveau à l'administration de Django (http://127.0.0.1:8000/admin) et essayez de vous connecter.

スクリーンショット 2016-11-11 2.52.04.png

Connectez-vous avec le `` super-utilisateur '' que vous avez créé précédemment.

スクリーンショット 2016-11-11 2.52.11.png

Si vous parvenez à vous connecter, vous pouvez accéder à un tel écran. Le nom du modèle a été déclaré comme Post '', mais il est automatiquement mis au pluriel en tant que Posts ''.

Essayons d'ajouter un article en ajoutant `` Articles '' à l'écran. スクリーンショット 2016-11-11 2.56.16.png

Après l'enregistrement, un nouvel article a été créé sur la base de données. スクリーンショット 2016-11-11 3.01.20.png

Ceci termine la confirmation de la base de données. Désormais, si vous souhaitez vérifier la base de données, demandez à l'administrateur Django de vous aider.

Vous pouvez maintenant définir le modèle, le refléter dans la base de données et le vérifier.

La prochaine fois, je créerai un modèle original et j'irai au point où je pourrai modifier le côté Vue.

Article de commentaire suivant

Explication de l'application Web Python (Django) d'une manière facile à comprendre, même pour les débutants (4) [Introduction aux paramètres de routage et aux modèles de conception MTV]

Les références

prime

Nous vous attendons pour nous suivre!

Présentation du service N'hésitez pas à nous contacter si vous êtes intéressé par "Kikagaku", un service de tutorat individuel pour l'apprentissage automatique qui vous permet d'apprendre "mathématiques → programmation → applications Web" en une seule fois.

Recommended Posts

Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (2) [Création de projet]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
Explication facile à comprendre de l'application Web Python (Django), même pour les débutants (6) [MTV design pattern completion]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Route setting / Introduction to MTV design patterns]
Créer une application Web avec Django
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Web scraping pour les débutants en Python (1)
Web scraping pour les débutants en Python (4) -1
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
Web scraping par les débutants avec Python (4) -3 Création d'instances de VM GCE et scraping sur VM
[Python] Conception d'applications Web pour l'apprentissage automatique
Création WebApi avec Python (création CRUD) Pour les débutants
Explication de la création d'une application pour afficher des images et dessiner avec Python
[Pour les débutants] Essayez le web scraping avec Python
Développement d'une application WEB avec Django [Création de l'écran d'administration]
Résumé du tutoriel Django pour les débutants par les débutants ① (création de projet ~)
[Python] Application Web à partir de 0! Pratique (1) -Conception, construction DB-
Compréhension facile de Python pour les tableaux et (pour les super débutants)
[Python] Dépannage des débutants tout en étudiant l'application Web de Django
Histoire de base de l'héritage en Python (pour les débutants)
Web scraping pour les débutants en Python (1) Version améliorée
(Python) Essayez de développer une application Web en utilisant Django
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
Application Web réalisée avec Python3.4 + Django (Construction de l'environnement Part.1)
[Linux] Principes de base de la configuration des autorisations par chmod pour les débutants
Explication sur l'erreur NoReverseMatch dans "python django super introduction"
Scraping Web pour débutants avec Python (4) --2 Scraping sur Cloud Shell
Framework Web Django Python
Application de Python 3 vars
OpenCV pour les débutants en Python
[Pour les débutants] Les bases de Python expliquées par Java Gold Part 2
Application Web Python x Flask x Tensorflow.Keras qui prédit les races de chats 2
■ Kaggle Practice pour les débutants - Introduction de Python - par Google Colaboratory
[Python] Les principales faiblesses et inconvénients de Google Colaboratory [Pour les débutants]
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
(Pour les débutants) Essayez de créer une API Web simple avec Django
[Pour les débutants] Les bases de Python expliquées par Java Gold Part 1