Créez une application Web appelée Hello World App et affichez "Hello World".
Tout d'abord, déplacez-vous vers un répertoire arbitraire, créez un répertoire nommé helloworld (tout va bien) et déplacez-vous vers ce répertoire. Entrez ensuite dans l'environnement virtuel et exécutez la commande suivante pour créer un nouveau projet Django.
$ django-admin startproject helloworld_project .
# django-admin.py:Script pour créer les répertoires et fichiers nécessaires à un nouveau projet
# helloworld_progect:C'est un nom de projet, donc tout va bien
Le répertoire helloworld_project est créé. Les fichiers suivants existent dans le répertoire.
├── helloworld
├── manage.py #Un utilitaire de ligne de commande pour effectuer diverses opérations sur le projet Django.
├── helloworld_project
├── __init__.py #Un fichier vide pour indiquer à Python que ce répertoire est un package Python
├── asgi.py #Point d'entrée pour le serveur Web compatible ASGI qui fournit le projet
├── settings.py #Contrôler les paramètres du projet
├── urls.py #urlresolver(Mécanisme pour trouver la vue correspondant à l'url reçue dans la requête)Contient une liste de modèles utilisés dans.
└── wsgi.py #wsgi:Une définition d'une interface commune qui connecte un serveur et une application Web
Ajoutez et créez une application (fonction) à un nouveau projet appelé helloworld_project. Lorsque vous entendez le mot application, vous avez tendance à penser à quelque chose comme LINE, Twitter ou Instagram, mais dans Django, l'application fait référence à une fonction. De nombreuses fonctions coopèrent entre elles pour créer LINE. Un projet Django contient une ou plusieurs applications et coopère entre eux pour fournir des services. Par exemple, sur un site e-commerce --Authentification d'utilisateur --Paiement
Tout d'abord, si le serveur est en cours d'exécution, arrêtez-le avec Ctrl + c. Exécutez la commande suivante pour créer une application nommée «pages».
$ python manage.py startapp pages
Cela créera le répertoire / helloworld / pages.
├── pages
├── __init__.py
├── admin.py #Fichier de configuration dans admin
├── apps.py #Fichier de paramètres de l'application elle-même appelé pages
├── migrations #model.Enregistrez l'historique des modifications du fichier py, de la base de données et des modèles.Répertoire pour stocker des fichiers pour garder py synchronisé
│ └── __init__.py
├── models.py #Fichier modèle de l'application. Un fichier qui définit un modèle de base de données.
├── tests.py #fichier de test d'application
└── views.py #Voir le fichier de l'application. Un fichier qui traite les demandes et les réponses aux applications.
J'ai créé une application appelée pages dans le projet de Django (bonjour le monde), mais Django ne sait toujours pas si les pages sont des applications ou quoi. Je dois dire à Django d'utiliser une application appelée pages. Si vous ouvrez helloworld_project / settings.py, vous trouverez les parties suivantes.
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Ce sont les applications Django qui existent par défaut. Vous pouvez ajouter votre propre application à votre projet Django uniquement en ajoutant des pages ici. Ajoutez la ligne suivante.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pages.apps.PagesConfig', # new
]
Vous devez toujours ajouter votre propre application en bas. En effet, Django exécute le paramétrage de INSTALLED_APPS de haut en bas. Vous devez d'abord charger l'application d'administration, puis authentifier, puis .... La raison en est que la plupart des applications créées par soi-même dépendent de fonctions telles que admi.
Ensuite, ajoutez le code pour afficher la chaîne de caractères dans views.py.
pages/views.py
from django.shortcuts import render
from django.http import HttpResponse
def homePageView(request):
return HttpResponse('Hello, World!')
#Lorsqu'une fonction appelée homePgeView reçoit une requête, elle appelle une fonction appelée HttpResponse et renvoie la valeur obtenue.
#Cette fois'Hello, World!'Il renvoie une réponse qui affiche la chaîne de caractères.
En premier lieu, une vue demande des informations telles que les données d'un modèle (model.py). Le modèle transmet ensuite les données demandées à la vue vers le modèle. En d'autres termes, la vue (view.py) est une fonction Python qui reçoit une requête et renvoie une réponse.
--Response: peut être n'importe quoi du contenu HTML de la page Web, des redirections, des erreurs 404, des documents XML, etc.
** Notez que la vue (view.py) doit essentiellement renvoyer un objet HttpResponse. (Il y a des exceptions) **
Django utilise des objets de requête et de réponse pour transmettre le statut de traitement dans tout le système. Lors de la réception d'une requête pour une page, Django crée un objet HttpRequest. Cet objet contient les métadonnées de la demande. Django charge ensuite la vue appropriée et transmet HttpRequest comme premier argument de la fonction de vue. Chaque vue doit renvoyer un objet HttpResponse. https://djangoproject.jp/doc/ja/1.0/ref/request-response.html
Vient ensuite le paramètre URL. À partir de maintenant, vous toucherez deux fichiers (①, ②) urls.py, alors faisons de notre mieux tout en étant conscient des différences.
① Créez un fichier appelé pages / urls.py. (** Notez le répertoire actuel. Dans le répertoire des pages. **) Veuillez ajouter le code suivant.
pages/urls.py
from django.urls import path
from .views import homePageView
urlpatterns = [
path('', homePageView, name='home')
]
#Django est le nom de domaine de l'URL(http://127.0.0.1:8000/Partie de)Est ignoré, donc ce modèle d'URL est une chaîne vide('')Allumettes
Le code ci-dessus signifie que lorsque vous accédez à l'adresse 127.0.0.1:8000 (l'adresse de la première page), vous devez appeler la fonction d'affichage homePageView. name = 'home' est le nom de l'URL utilisée pour identifier la vue. Vous aurez la possibilité d'utiliser le nom de cette URL à l'avenir, donc si vous lui donnez un nom unique facile à retenir, vous ne serez pas confus.
② Un fichier appelé helloworld_progect / urls.py doit être créé par défaut. Veuillez ajouter le code suivant ici.
helloworld_project/urls.py
from django.contrib import admin
from django.urls import path, include #new
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')), #new
]
#Similaire à ①, le modèle d'URL est une chaîne de caractères vide('')Spécifiez dans http://127.0.0.1:8000/La page d'entrée est l'adresse du seul domaine.
Importez la fonction include pour importer pages.urls. Dans path () qui spécifie'admin / ', il est configuré pour retourner l'écran de gestion (admin.site.urls) (l'afficher sur le navigateur) lorsque l'URL est "admin /". L'écran de gestion est une page où vous pouvez utiliser l'application avec un navigateur. Django redirigera les requêtes qui arrivent sur la page d'entrée vers pages.urls. En d'autres termes, lors de l'accès à la page d'entrée, la fonction homePageView de pages.urls est automatiquement exécutée.
Vous êtes maintenant prêt à afficher Hello, World! Sur votre site Web. Tout ce que vous avez à faire est de démarrer le serveur.
$ python manage.py runserver
La prochaine fois, j'en ferai plus sur Pages App.
Django for Beginners 3.0
Recommended Posts