[PYTHON] Développement d'applications WEB à l'aide de django-development partie 1-

introduction

Créer un projet

cd C:\Python\env1
. Scripts/activate

--Créer un projet

django-admin startproject mysite

Mysite est créé dans le répertoire courant.

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

--Top mysite: Vous pouvez le créer avec n'importe quel nom dans le répertoire racine. Peut être changé. --manage.py ・ ・ ・ Utilitaire de ligne de commande pour effectuer diverses opérations du projet Django. --mysite ・ ・ ・ Package pour ce projet. --mysite / __ init__.py ・ ・ ・ Un fichier vide indiquant que ce répertoire est python. --mysite / settings.py ・ ・ ・ Fichier de paramètres du projet. --mysite / urls.py ・ ・ ・ Déclarer l'URL. --mysite / asgi.py ・ ・ ・ Point d'entrée du serveur WEB compatible ASGI qui fournit le projet. --mysite / wsgi.py ・ ・ ・ Point d'entrée de serveur WEB compatible WSGI pour servir des projets.

Démarrer le serveur de développement

--Aller dans le premier répertoire mysite

cd mysite

--Démarrez le serveur de développement

python manage.py runserver

Après un démarrage réussi, accédez à l'URL (http://127.0.0.1:8000/) S'il y a une page où la fusée décolle, c'est réussi.

Création d'applications de sondages

--Créer une application

python manage.py startapp polls

L'application est maintenant créée.

Voir la création

--Créer une vue

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

Mappez l'URL pour appeler la vue.

from django.urls import path
from . import views

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

--Réflexion de la description du module dans l'URL racine

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

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

--Démarrez le serveur

python manage.py runserver

Après avoir démarré le serveur, vérifiez le fonctionnement. (http: // localhost: 8000 / polls /) Vous pouvez voir que "Bonjour tout le monde. Vous êtes à l'index des sondages." Est affiché.

Paramètres de la base de données

--SQLite est défini par défaut dans mysite / settings.py. --Si vous souhaitez utiliser une autre base de données, modifiez ce fichier.

python manage.py migrate

La table est créée. Sur la base des paramètres INSTALL_APPS, créez toutes les tables requises en fonction des paramètres de la base de données dans le fichier mysite / settings.py.

Créer un modèle

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)

Les variables de classe individuelles représentent les champs de base de données du modèle.

Activer le modèle

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

Après la configuration, exécutez la commande suivante pour refléter le modèle Django.

python manage.py makemigrations polls

Une fois exécutée, la migration sera créée.

Migrations for 'polls':
  polls/migrations/0001_initial.py
    - Create model Question
    - Create model Choice

Créé en tant que polls / migrations / 0001_initial.py. Exécutez des commandes pour gérer automatiquement le schéma de base de données.

python manage.py sqlmigrate polls 0001

La commande sqlmigrate renvoie SQL avec le nom de la migration comme argument. Affiche le SQL qui sera exécuté lorsqu'il est reflété, qui n'est pas réellement reflété.

--Réflexion du tableau

python manage.py migrate

migrate n'est pas appliqué, il complète la migration et s'exécute sur la base de données. Synchroniser.

Essayez d'implémenter l'API fournie par Django

--Modifier les modèles de questions et de choix

import datetime

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

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

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

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

Nous avons ajouté la méthode str () au modèle pour le rendre plus facile à voir en mode interactif et à utiliser comme représentation d'objet dans l'admin généré automatiquement par Django.

python manage.py shell

Démarrer un dialogue

>>> from polls.models import Choice, Question
>>> Question.objects.all()
>>> Question.objects.filter(id=1)
>>> Question.objects.filter(question_text__startswith='What')
>>> from django.utils import timezone
>>> current_year = timezone.now().year
>>> Question.objects.get(pub_date__year=current_year)
>>> Question.objects.get(pk=1)
>>> q = Question.objects.get(pk=1)
>>> q.was_published_recently()
>>> q = Question.objects.get(pk=1)
>>> q.choice_set.all()
>>> q.choice_set.create(choice_text='Not much', votes=0)
>>> q.choice_set.create(choice_text='The sky', votes=0)
>>> c = q.choice_set.create(choice_text='Just hacking again', votes=0)
>>> c.question
>>> q.choice_set.all()
>>> q.choice_set.count(
>>> Choice.objects.filter(question__pub_date__year=current_year)
>>> c = q.choice_set.filter(choice_text__startswith='Just hacking')
>>> c.delete()

Je travaille sur des relations modèles.

Créer un utilisateur administrateur

--Créer un utilisateur Créez un utilisateur qui peut se connecter au site d'administration de l'application.

python manage.py createsuperuser

Veuillez donner le nom d'utilisateur de manière appropriée

 Nom d'utilisateur: Nom d'utilisateur

Entrez votre adresse email

Email address: [email protected]

exampl.com est un exemple de nom de domaine que tout le monde peut utiliser. Une fois entré, vous serez invité à entrer un mot de passe.

Password: **********
Password (again): *********
Superuser created successfully.

Ceci termine la création de l'utilisateur admin.

Démarrer le serveur de développement

--Démarrez le serveur de développement Si le serveur n'est pas opérationnel, faites-le

python manage.py runserver

Une fois démarré, accédez à * http: // localhost: 8000 / admin / *. Log in _ Django site admin - Google Chrome 2020_09_21 16_56_20 (2).png

Connectez-vous à l'écran de gestion

--L'écran suivant s'affichera si vous réussissez à vous connecter en entrant le nom d'utilisateur et le mot de passe que vous avez définis lors de la création de l'utilisateur administrateur plus tôt. Log in _ Django site admin - Google Chrome 2020_09_21 17_02_35 (2).png

Les groupes et les utilisateurs sont du contenu fourni par le framework de fonction d'authentification de Django django.contrib.auth.

Ajouter l'application Poll afin qu'elle puisse être modifiée sur l'administrateur

--Ouvrez polls / admin.py et modifiez.

L'objet Question peut être affiché en ayant une interface d'administration. Dites à l'administrateur que vous avez une interface.

from django.contrib import admin
from .models import Question

admin.site.register(Question)

Les sondages sont maintenant affichés sur l'écran de gestion. Log in _ Django site admin - Google Chrome 2020_09_21 17_14_02.png

-① Sondages ajoutés -② Lorsque vous effectuez l'opération, elle s'affiche sous forme d'historique.

Essayez d'utiliser l'écran de gestion

Développement d'applications WEB à l'aide de django-development partie 2 - >>>

Recommended Posts

Développement d'applications WEB à l'aide de django-development partie 1-
Développement d'applications WEB à l'aide de django-Construction d'environnement de développement-
Développement d'une application WEB avec Django [Django startup]
Développement d'une application WEB avec Django [Ajout d'application]
Développement d'une application WEB avec Django [Définition de modèle]
Développement d'une application WEB avec Django [Paramètre initial]
Développement d'une application WEB avec Django [Traitement des requêtes]
Développement d'une application WEB avec Django [modèle supplémentaire]
Application Web utilisant Bottle (1)
Développement d'une application WEB avec Django [Création de l'écran d'administration]
Développement d'applications Web avec Flask
Créer une application Web avec Flask ②
Créer une application Web avec Flask ①
Créer une application Web avec Flask ③
Créer une application Web avec Flask ④
Développement d'applications à l'aide d'Azure Machine Learning
Essayez d'utiliser le framework d'application Web Flask
Développement d'applications à l'aide de SQLite avec Django (PTVS)
À propos du développement Cloud run + Firebase [Développement d’applications Web]
(Python) Essayez de développer une application Web en utilisant Django
Tech-Circle Commençons le développement d'applications à l'aide de l'apprentissage automatique (auto-apprentissage)
Créer une application Web avec Django
Web scraping avec Selenium (Python)
Web scraping à l'aide d'AWS lambda
Application Web avec Python + Flask ② ③
[Développement à distance] Application de contrôle (pratique 2)
Application Web avec Python + Flask ④
Développement de texte à l'aide des services Mac
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
À propos du cache HTTP lors du développement d'une application Web basée sur l'API REST [à l'aide de GCP]
Il y a un long chemin à parcourir pour développer une application web
Contre-mesures contre le proxy lors de l'utilisation de l'API WEB
Authentification à l'aide de l'authentification des utilisateurs tweepy et de l'authentification d'application (Python)
Créer une application Web pour la transcription vocale
[Développement à distance] Application d'analyse vidéo (Pratique 3)
Créer une application Web avec Django
Développement d'applications avec Docker + Python + Flask
[Développement à distance] Application d'analyse vocale (pratique 4)
Outil de mesure des performances des applications Web Funkload ...
Développement et déploiement de l'API REST en Python à l'aide de Falcon Web Framework
Comment créer une application à partir du cloud à l'aide du framework Web Django
Je souhaite créer une application Web en utilisant React et Python flask
Implémentez une application simple avec Python full scratch sans utiliser de framework web.