[PYTHON] Django à partir de zéro (partie: 2)

Dernière fois

Django \ (part: 1 ) \ -Qiita à partir de zéro

Les références

Création de votre première application Django, partie 2|Documentation Django| Django

Paramètres de la base de données

mysite/setting.py --Module Python avec divers paramètres jango

INSTALLED_APPS Paramètres des parties importantes de l'application. Détails ci-dessous --django.contrib.admin --Site d'administration (admin) --django.contrib.auth - Système d'authentification --django.contrib.contenttypes - Framework de type de contenu --django.contrib.sessions - Framework de session --django.contrib.messages - Framework de messagerie --django.contrib.staticfiles - Framework de gestion de fichiers statique

Créer une table

Utilisez la commande suivante pour créer une table de base de données.

python manage.py migrate

-La «commande migrate» fait référence aux paramètres INSTALLED_APPS ci-dessus et crée toutes les bases de données requises en fonction des paramètres de base de données dans le fichier «mysite / setting.py». --Il est possible d'afficher le contenu de la table avec le client en ligne de commande. - \dt (PostgreSQL - SHOW TABLES; (MySQL) - .schema (SQLite) - SELECT TABLE_NAME FROM USER_TABLES; (Oracle)

Générer un modèle de base de données

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

--CharFiled, IntegerField, etc. spécifient le type de type de données stocké.

Refléter l'application dans le projet

--Ajoutez un paramètre à ʻINSTALLED_APPS dans setting.py 'pour inclure l'application dans votre projet --Définissez la classe décrite dans ʻapps.py dans l'application (cette fois Polls) sur ʻINSTALLED_APPS

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Refléter les changements de modèle

Exécutez le code ci-dessous pour enregistrer les modifications dans Django sous forme de migration

python manage.py makemigrations polls

 python manage.py check 

Commande pour vérifier s'il y a un problème avec le projet


Après avoir créé la table modèle, exécutez à nouveau migrate pour créer la table modèle dans la base de données.

3 étapes pour mettre en œuvre les changements de modèle

Pourquoi les commandes de création et d'application des migrations sont-elles séparées?

Amélioration de la commodité de l'API de base de données

Si vous faites >>> Question.objects.all () dans le shell La sortie est la suivante. <QuerySet [<Question: Question object (1)>]> Je ne sais pas à quoi ressemble la table de la base de données

Ajoutez donc la méthode `__str __ 'à la fois à la question et au choix

from django.db import models

class Question(models.Model):
    # ...
    def __str__(self):
        return self.question_text

class Choice(models.Model):
    # ...
    def __str__(self):
        return self.choice_text

--En plus de la commodité de l'affichage dans le shell, il est utilisé comme une représentation d'objet de l'objet admin généré automatiquement de django.

polls/models.py



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


class Question(models.Model):
    # ...
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

Créer un utilisateur administrateur

python manage.py createsuperuser

Rendez-le modifiable sur l'administrateur

from django.contrib import admin

from .models import Question

admin.site.register(Question)

Recommended Posts

Django à partir de zéro (partie: 2)
Django à partir de zéro (partie: 1)
Django memo n ° 1 à partir de zéro
Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 2)
Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 3)
Soit Code Day75 à partir de zéro "15.3 Sum"
Django a commencé la partie 1
Django a commencé la partie 4
Efficacité commerciale à partir de zéro avec Python
Let Code Day 29 "46. Permutations" à partir de zéro
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
Let Code Day 27 "101. Symmetric Tree" à partir de zéro
Micro service avec GCP sur RoR à partir de zéro
Let Code Day 41 "394. Decode String" à partir de zéro
Let Code Day 25 "70. Grimper les escaliers" à partir de zéro
Laissez Code Day69 à partir de zéro "279. Perfect Squares"
Let Code Day 34 à partir de zéro "118. Le triangle de Pascal"
Laissez Code Day85 à partir de zéro "6. Conversion en zigzag"
Laissez Code Day20 partir de zéro "134. Station-service"
Apprentissage automatique à partir de zéro (apprentissage automatique appris avec Kaggle)
Let Code Day 88 "139. Word Break" à partir de zéro
Let Code Day 28 "198. House Robber" à partir de zéro
Let Code Day 39 "494. Target Sum" à partir de zéro
Let Code Day 36 "155. Min Stack" à partir de zéro
Let Code Day 17 "169. Majority Element" à partir de zéro
Let Code Day 33 "1. Two Sum" à partir de zéro
Apprentissage profond à partir de zéro
Keras à partir de rien
[Python] Lecture du code source Django Vue à partir de zéro ①
Let Code Day 23 "226. Invert Binary Tree" en partant de zéro
Let Code Day8 À partir de zéro "1302. Somme des feuilles les plus profondes"
Soit Code Jour 22 à partir de zéro "141. Cycle de liste liée"
J'ai configuré Django à partir de zéro (Vagrant, Centos, Python3)
Let Code Day 30 à partir de zéro "234. Palindrome Linked List"
Let Code Day 32 "437. Path Sum III" à partir de zéro
Soit Code Day68 à partir de zéro "709. To Lower Case"
Apprentissage profond à partir de zéro 1 à 3 chapitres
Let Code Day 26 à partir de zéro "94. Traversée en ordre de l'arbre binaire"
Soit Code Day 46 à partir de zéro "406. Reconstruction de file d'attente par hauteur"
Analyse ChIP-seq à partir de zéro
Let Code Day 31 "581. Le sous-tableau continu non trié le plus court" à partir de zéro
Déployez Django + React à partir de zéro vers GKE (1) Développement backend - Nginx + Django
Déployer Django + React de zéro sur GKE: Table des matières
Keras à partir de rien 5ème
Utiliser le modèle django de l'interpréteur
Keras à partir de rien 1er
Let Code Day 38 à partir de zéro "208. Implémenter Trie (Prefix Tree)"
Soit Code Day3 à partir de zéro "1313. Decompress Run-Length Encoded List"
Keras à partir de rien 4e
Enregistrement du modèle depuis Django Bootstrap
Keras à partir de rien 2e
J'ai essayé d'implémenter Perceptron Part 1 [Deep Learning from scratch]
Keras à partir de rien 3e
Soit Code Day 65 "560. Subarray Sum Equals K" à partir de zéro
Soit Code Day4 à partir de zéro "938. Range Sum of BST"
Déployer Django + React à partir de zéro vers GKE (3) Créer un projet GCP
Version Lua Apprentissage profond à partir de zéro Partie 6 [Traitement d'inférence de réseau neuronal]
Re: La vie d'Heroku à partir de zéro avec Flask ~ PhantomJS à Heroku ~
Let Code Day 77 "1502. Peut faire une progression arithmétique à partir de la séquence" à partir de zéro
Soit Code Jour 76 à partir de zéro "3. Sous-chaîne la plus longue sans caractères répétitifs"