[PYTHON] Je souhaite créer une base de données de déjeuners [EP1] Django pour la première fois

Je souhaite créer une application web

J'ai donc décidé d'étudier Django en Python. Django semble être un framework Web Python. Qu'est-ce qu'un cadre? Cela semble être le cas, mais le site officiel indique que "Django facilite la création de meilleures applications Web plus rapidement et avec moins de code". Il semble que Youtube, Dropbox et instagram soient également réalisés avec Django dans des endroits célèbres. Sensationnel ...

Note) Cet article est "J'ai essayé le tutoriel du projet officiel de Django".

Environnement

Tout d'abord, de la construction de l'environnement au lapin et au coin

Si vous supprimez ces trois points, je pense que vous pouvez démarrer Django. Dans mon cas sur Windows 10 1909

Je l'ai préparé. Vous trouverez ci-dessous les liens auxquels j'ai fait référence lors de la configuration. <détails>

Lien de référence </ summary> Maîtriser Django le plus rapide part1 django Official Document-Tutorial Construction de l'environnement Python (Anaconda + VSCode) @ Windows10 [version janvier 2020]

Premier pas

Après avoir installé Django, j'ai construit un environnement virtuel. Comme vous pouvez le voir, le pas est assez lent. S'il vous plaît, pardonnez-moi.

Généralement, il y a beaucoup d'articles sur pyenv ou venv dans la construction d'un environnement virtuel, donc quand je le fais avec ʻAnaconda cette fois Il a été construit avec un peu de confusion. Puisque l'interface graphique de ʻAnaconda est assez facile à comprendre, il est possible de construire un environnement virtuel sans taper de commandes honnêtes. Il peut donc être facile pour les débutants de s'entendre. Ce qui suit est l'écran de configuration du navigateur ʻAnaconda`.

    1. Cliquez sur Environnement dans le menu de gauche pour accéder à l'écran de configuration de l'environnement virtuel 2020-07-30_LI.jpg
  1. Créer un nouvel environnement Le nom doit être facile à comprendre et vous pouvez décider librement. (Je l'ai nommé Django, mais il y a peut-être un conflit d'espace de noms) 2020-07-30 (1)_LI.jpg

    1. Après avoir créé un environnement virtuel pour Django, sélectionnez cet environnement virtuel, recherchez la bibliothèque requise dans la fenêtre search et placez-la dans l'environnement virtuel. 2020-07-30 (2)_LI.jpg

Faisons un projet

Une fois l'environnement virtuel créé, démarrez l'environnement virtuel à partir de ʻAnaconda`Prompt, entrez dans le répertoire de travail et créez un projet.

cmd


(base)C:\User>conda activate Django
(Django)C:\User>django-admin startproject mysite

Cela créera un répertoire mysite dans lequel le projet et le code de type kit de démarrage seront créés automatiquement.

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

Puisque le tutoriel a exactement la même explication, je vais l'omettre en détail, mais le mouvement de base est contrôlé par manage.py et ʻurls.py` est responsable du routage dans le site. Article détaillé ⇒ Explication du mécanisme de code pour django-django (framework) d'une manière facile à comprendre [Bien mâcher]

Tout d'abord, exécutons le serveur Web!

cmd


(Django)C:\User\mysite>python manage.py runserver

Vous avez configuré avec succès un serveur. Comme ceux qui le comprendront le comprendront, celui mis en place ici est un serveur de développement pour une utilisation dite d'essai. En fait, il est opéré en insérant ʻApache` etc.

Vérifions donc le serveur de développement que nous avons mis en place. Si vous entrez 127.0.0.1:8000 dans le navigateur 2020-08-01.png Ce n'est pas grave si vous voyez un écran avec une fusée comme celle-ci voler. 127.0.0.1:8000 représente votre propre port 8000 car 127.0.0.1 est l'adresse de bouclage, et cette page montre que django fonctionne sur le port 8000 de votre ordinateur. Je vais.

Faire une demande de sondage

Dans le didacticiel, nous allons commencer à créer une application de vote ici. Tout d'abord, créez un modèle pour l'application.

cmd


(Django)C:\User\mysite>python startapp polls

Cela créera un répertoire nommé polls, qui contient déjà les scripts de base pour la construction de votre application.

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

Ce script, views.py, contrôle l'apparence de la page. Maintenant, jouons un peu avec ce views.py pour changer l'apparence.

À partir de là, nous éditerons à l'aide de vscode.

Dans vscode, la localisation japonaise et l'extension Python sont incluses dans le plug-in, et Pylance que j'ai présenté car il en a été récemment question.

Lorsque vous ouvrez l'écran vscode, cela ressemble à ceci. 2020-08-02 (1)_LI.jpg

Ajoutez le script suivant à views.py.


from django.http import HttpResponse

def index(request):
#Je mets les mots appropriés
    return HttpResponse("salut!")

Le contenu de HttpResponse de return est différent du tutoriel, mais comme il s'agit d'un message d'affichage, je mets ce que je veux.

Ensuite, définissez le routage dans ʻurls.py` pour afficher cette fonction.

  • Le paramètre ici est ʻurls.py dans le répertoire polls. Sachez qu'il y a aussi ʻurls.py dans la hiérarchie du répertoire mysite. Ici, il est écrit dans le plus profond ʻurls.py`.

polls/urls.py


from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

J'ai appelé «views.py» et mis le «chemin» vers «views.index» dans la liste des «motifs d'url». Cela seul ne peut pas encore appeler «views.index». Vous devez afficher le routage vers les sondages dans mysite / urls.py.

mysite/urls.py


from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

admin est à l'origine inclus. Ajout de «chemin» aux sondages. ʻInclude est une fonction nécessaire pour passer l'action au ʻurls.py inférieur. L'exception est ʻadmin.site.urls. Vous pouvez maintenant rechercher views.index à 127.0.0.1: 8000 / polls`.

Référence sur l'envoi d'URL ⇒ Etude de DJango (1)

Vérifions-le immédiatement. 2020-08-02 (3).png

C'est assez solitaire, mais ça fait du bien parce que la réponse est conforme au code.

Paramètres de la base de données

Définissez la base de données à utiliser dans mysite / setting.py. Heureusement, Python est livré en standard avec une petite base de données appelée SQLite. Ces lieux montrent également la philosophie de Python attachée aux batteries.

cmd


(Django) C:\User\mysite>python manage.py migrate

Ceci termine la création de la table de base de données. Je suis surpris que ce soit trop ridicule, mais est-ce une bonne chose à propos de Django? Lorsque vous utilisez une base de données autre que «SQLite», un paramètre distinct dans «setting.py» est requis.

Créer un modèle

Créez le modèle principal de l'application de sondages.

polls/models.py


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)

Comme vous pouvez le voir dans le code, nous avons défini deux sous-classes de la classe models.Model, Question et Choice. De plus, l'attribut est défini sur «Champ». Je n'ai pas encore rattrapé "Field". Je vais me consacrer. models.ForeignKey est celui qui va chercher la clé externe. Je suis désolé.

Activer le modèle

Après avoir créé le modèle, l'étape suivante consiste à activer le modèle dans setting.py afin qu'il puisse être référencé.

mysite/setting.py


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

Au fait, qu'est-ce que polls.apps.PollsConfig? C'était ça ↓

polls/apps.py


from django.apps import AppConfig

#J'appelle ça.
class PollsConfig(AppConfig):
    name = 'polls'

Et lorsque vous avez terminé le réglage sur setting.py,

cmd


(Django) C:\User\mysite>python manage.py makemigrations polls

J'ai pu enregistrer les modifications du modèle en faisant makemigrations <nom de l'application>. Après cela, il semble que vous puissiez utiliser migrate.

Ça s'allonge, alors j'aimerais le couper une fois ici. Merci beaucoup. Si vous remarquez une erreur, corrigez-la en conséquence.

Recommended Posts

Je souhaite créer une base de données de déjeuners [EP1] Django pour la première fois
Je souhaite créer une base de données de déjeuner [EP1-4] Django pour la première fois
Je veux créer un Dockerfile pour le moment.
[Salut Py (Partie 1)] Je veux faire quelque chose pour le moment, alors commencez par fixer un objectif.
Je veux déplacer le sélénium pour le moment [pour mac]
Démarrez Django pour la première fois
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
Je veux créer un système pour éviter d'oublier de serrer la clé 1
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
J'ai essayé tensorflow pour la première fois
J'ai essayé de créer un traitement par lots sans serveur pour la première fois avec DynamoDB et Step Functions
Pour la première fois dans Numpy, je vais le mettre à jour de temps en temps
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
Comment utiliser MkDocs pour la première fois
Je souhaite créer facilement un modèle de bruit
Je veux créer une fenêtre avec Python
J'ai essayé la programmation python pour la première fois.
J'ai essayé Mind Meld pour la première fois
Je souhaite créer un type d'implémentation pouvant être branché
Je souhaite télécharger une application Django sur heroku
Essayez de publier sur Qiita pour la première fois
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
Je veux créer un lecteur de musique et enregistrer de la musique en même temps
Je veux ajouter du silence pendant 1 seconde au début d'un fichier wav
Affichons un template simple idéal pour le premier Django
GTUG Girls + PyLadiesTokyo Meetup Je suis allé au premier machine learning
Créez une commande pour rechercher des composés similaires dans la base de données cible avec RDKit et vérifiez le temps de traitement
Ce que je suis entré dans Python pour la première fois
J'ai essayé Python sur Mac pour la première fois.
Je veux faire défiler la table de décalage Django, mais ...
Enregistrer une tâche dans cron pour la première fois
J'ai essayé python pour la première fois avec heroku
Pour la première fois, j'ai découvert Unix (Linux).
Je souhaite créer manuellement une légende avec matplotlib
AI Gaming Je l'ai essayé pour la première fois
J'ai fait une commande pour attendre que Django démarre jusqu'à ce que la base de données soit prête
C'est bon de participer pour la première fois! Un kit de démarrage hackason que vous souhaitez préparer "avant" de participer au hackason!
Premier Kaggle (kaggle ①)
Kaguru pour la première fois
[TensorFlow] Je souhaite maîtriser l'indexation pour Ragged Tensor
Je veux créer un éditeur de blog avec l'administrateur de django
Une méthode d'étude pour les débutants pour apprendre l'analyse des séries chronologiques
Résumé des points d'achoppement à Django pour la première fois
J'ai essayé l'API Google Cloud Vision pour la première fois
J'ai essayé de créer un bot pour annoncer un événement Wiire
Je souhaite utiliser l'environnement de bureau d'Ubuntu sur Android pour le moment (version Termux)
Je souhaite utiliser l'environnement de bureau d'Ubuntu sur Android pour le moment (version UserLAnd)
Une histoire que j'ai eu du mal en essayant de créer une "application qui convertit des images comme des peintures" avec la première application Web
Étapes pour créer un projet Django
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
Qiskit: Je veux créer un circuit qui crée des états arbitraires! !!
Je veux créer un graphique avec des lignes ondulées au milieu avec matplotlib (je veux manipuler l'impression)
Je veux créer un histogramme et superposer la courbe de distribution normale dessus. édition matplotlib
J'ai créé une fonction pour vérifier si le webhook est reçu dans Lambda pour le moment
Je veux créer un fichier pip et le refléter dans le menu fixe
Voir python pour la première fois
Raspberry Pi --1 --Première fois (Connectez un capteur de température pour afficher la température)
Je souhaite créer un service d'apprentissage automatique sans programmation! API Web