Django super introduction par les débutants Python! Partie 1 J'ai essayé d'afficher une page HTML qui ne dit que "Hello World"

but de fond

J'ai appris Django dans un cours en ligne appelé Udemy. Cet article est une page de sortie qui sert également de mémorandum. Je vais essayer de l'écrire d'une manière facile à comprendre du point de vue d'un débutant. Les deux cours suivants ont servi de référence. Les deux étaient de très bons cours difficiles à joindre.

Sûr pour les débutants en programmation, cours d'introduction à Python / Django [Python 3 x Django 2.0] Apprenez tout en créant Django

Qu'est-ce que Django? Pourquoi Django?

Tout simplement, c'est comme une boîte à outils qui rassemble ce dont les programmeurs de génie Python ont besoin pour permettre aux programmeurs débutants comme eux de créer facilement des sites Web. Pour le dire froidement, cela s'appelle un framework Web.

En plus de Django, il existe des frameworks web réalisés avec JavaScript, Ruby, etc., qui semblent être meilleurs à partir de 2020 en termes de taux de partage. Cependant, dans mon cas, j'utilise Python comme passe-temps, et le coût d'apprentissage des connaissances de base est faible, j'ai donc choisi Django.

Créer un environnement virtuel (pour une machine Windows 10)

Tout d'abord, créez un environnement virtuel. Si vous créez ceci, ce sera un environnement indépendant, donc en ajoutant la bibliothèque plus tard, vous n'aurez pas la situation idiote que "cela fonctionnait avant, mais cela fonctionnait". Les bibliothèques d'apprentissage automatique tombent souvent dans cette situation, alors faisons-le correctement. Vous pouvez facilement revenir en arrière.

Lancez PowerShell ou l'invite de commandes. L'environnement virtuel est créé avec "virtualenv". S'il n'est pas installé, installez-le avec la commande suivante.

> py -m pip install virtualenv

Une fois installé, construisons un environnement virtuel. Construisez avec un nom d'environnement nommé venv.

> py -m virtualenv venv

Connectons-nous à l'environnement virtuel créé. Après avoir déplacé vers le dossier venv, tapez la commande suivante pour accéder à l'environnement virtuel.

> \Scripts\activate

Installation et initialisation de Django

Après être entré dans l'environnement virtuel, installez Django.

> pip install django

Une fois Django installé, créez un projet.

Un projet est une boîte à outils créée par les programmeurs de génie Python mentionnés précédemment. Il contient tout ce dont vous avez besoin pour créer un serveur Web.

Merci beaucoup, mais jusqu'à ce que vous vous habituiez à cette structure de dossiers, c'est assez ésotérique et déroutant. J'écrirai en détail le fichier que vous éditez aussi soigneusement que possible.

Créons un projet nommé "first".

> django-admin startproject first

Un dossier appelé en premier sera créé, allez donc dans le premier dossier. Après avoir déménagé, créez une application Web.

> py manage.py startapp myapp

Cela créera un nouveau dossier appelé myapp. Je pense qu'il a la structure arborescente suivante. Sous le premier dossier de projet, il y a un autre premier dossier, Vous pourriez penser, "Hein?", Mais si cela arrive, c'est un succès. image.png Ensuite, il y a settings.py directement sous first \ first. Ouvrons-le.

first\fisrt\settings.py


INSTALLED_APPS = [
    "...",
    "first", # <-Postscript
]

Maintenant, je peux dire à Django qu'il y a une application appelée en premier. Faites défiler plus bas et modifiez LANGUAGE_CODE et TIME_ZONE comme suit:

first\fisrt\settings.py


LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

LANGUAGE_CODE signifie japonais et TIME_ZONE signifie japonais. Ceci termine les paramètres dans settings.py. Écraser et enregistrer et fermer.

Modification de urls.py

Puis modifiez urls.py. Comme son nom l'indique, il s'agit d'un fichier permettant de résoudre le nom de l'URL saisi depuis le navigateur. Ouvrez d'abord \ first \ urls.py ↓ image.png

Après avoir ouvert le fichier, écrivez comme suit.

first\first\urls.py


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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')) # <-Postscript
]

Cela vous dira d'aller directement sur urls.py sous myapp si vous voyez myapp dans l'URL. En faisant cela, même si le nombre d'applications dans le même projet augmente à l'avenir, il sera plus facile à comprendre car les URL ne seront pas dispersées dans les modèles d'URL.

Ensuite, ouvrez le dossier myapp et créez un nouveau urls.py.

first\myapp\urls.py


from django.urls import path
from . import views

app_name = 'myapp'

urlpatterns = [
    path('', views.index, name='index'),
    path('test/', views.test_index, name='testindex')
]

Importez views.py avec from .import views. `ʻApp_name = 'myapp'signifie résoudre le nom de l'URL de myapp. Dans urlpatterns, décrivez le traitement de l'URL qui suit myapp. path ('', views.index, name = 'index') est le traitement lorsque l'URL myapp / '' arrive. path ('test /', views.test_index, name = 'testindex') est le processus lorsque l'URL myapp / test arrive.

Je n'ai pas encore modifié views.py, donc je pense qu'il est difficile de voir l'image, Lorsque l'URL myapp / arrive, la fonction ```indexdans views.py est exécutée. Lorsque l'URL myapp / testarrive, la fonction de test_index`` est exécutée.

Ce nom de fonction est arbitraire. Ceci termine la modification de urls.py. Ensuite, éditons views.py.

Modifier views.py

Créons les fonctions index et test_index spécifiées précédemment dans urls.py. views.py est stocké ci-dessous. image.png Ouvrez views.py et écrivez comme suit.

first\myapp\views.py


from django.http import HttpResponse

def index(request):
    return HttpResponse("hello world")

def test_index(request):
    return HttpResponse("test")

def index est une fonction qui renvoie simplement "hello world" lorsque views.index reçoit une requête. def test_index est une fonction qui renvoie simplement "test" lorsque views.test_index reçoit une requête.

Ceci termine la modification de views.py. Commençons enfin le serveur de développement.

Démarrer le serveur de développement

Le serveur de développement est démarré avec PowerShell. Veuillez vous déplacer directement sous le dossier de projet que vous avez créé en premier. Assurez-vous que manage.py est directement en dessous. image.png Exécutez ensuite la commande suivante.

py manage.py runserber

Au démarrage, le résultat suivant sera affiché. Si vous obtenez une erreur, il se peut que la procédure ne soit pas correcte jusqu'à présent. image.png

http://127.0.0.1:8000/myapp et <a href = "http://127.0.0.1:" dans un navigateur Internet Assurez-vous que vous pouvez accéder avec succès à 8000 / myapp / test "> http://127.0.0.1:8000/myapp/test .

Je pense que bonjour le monde est affiché en toute sécurité. image.png

Article suivant

Le prochain article est ci-dessous. https://qiita.com/sw1394/items/903397960d7164ff31ac

Recommended Posts

Django super introduction par les débutants Python! Partie 1 J'ai essayé d'afficher une page HTML qui ne dit que "Hello World"
Django super introduction par les débutants Python! Partie 3 J'ai essayé d'utiliser la fonction d'héritage de fichier de modèle
Django super introduction par les débutants Python! Partie 2 J'ai essayé d'utiliser les fonctions pratiques du modèle
Django super introduction par les débutants Python! Partie 5 J'ai créé une application de journal super simple avec une vue générale basée sur la classe
Django super introduction par les débutants Python! Partie 4 J'ai créé une application de journal super simple (créée uniquement avec des fonctions sans utiliser de vues à usage général basées sur les classes)
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 5/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 7/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 4/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Part3 / 22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 1/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 6/22]
Une histoire dont je voulais afficher le résultat de la division (%) sur HTML avec une application utilisant django [Débutant apprend python avec un livre de référence dans une main]
Introduction à Python que même les singes peuvent comprendre (partie 3)
Introduction à Python que même les singes peuvent comprendre (partie 1)
Introduction à Python que même les singes peuvent comprendre (partie 2)
[Python] J'ai essayé d'expliquer des mots difficiles à comprendre pour les débutants d'une manière facile à comprendre.
J'ai essayé de créer un système qui ne récupère que les tweets supprimés
[Introduction à la simulation] J'ai essayé de jouer en simulant une infection corona ♬ Partie 2
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Python #Hello World pour les super débutants
Introduction à Ansible Partie 1 Hello World !! '
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
J'ai créé une application Web en Python qui convertit Markdown en HTML
J'ai essayé de développer un formateur qui génère des journaux Python en JSON
Je veux colorer une partie de la chaîne Excel avec Python
Super Introduction Arithmétique Bit Python
Comment afficher Hello World en python
Introduction à la création d'IA avec Python! Partie 3 J'ai essayé de classer et de prédire les images avec un réseau de neurones convolutifs (CNN)
Introduction à la création d'IA avec Python! Partie 2 J'ai essayé de prédire le prix de l'immobilier dans la ville de Boston avec un réseau neuronal
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
[Python] J'ai essayé de créer une IA Shiritori qui améliore le vocabulaire grâce aux batailles
[Introduction à Docker] J'ai essayé de résumer diverses connaissances Docker acquises en étudiant (Windows / Python)
Une introduction à la programmation orientée objet pour les débutants par les débutants
J'ai essayé d'obtenir une image en grattant
Pour moi en tant que débutant Django (3) - Bonjour tout le monde! ---
[Python + Bottle] J'ai publié un service Web qui visualise les tweets positionnés de Twitter.
J'ai écrit une classe qui facilite l'écriture en spécifiant les paroles de la partie lors de l'utilisation de Mecab avec python
Étapes de l'installation de Django à l'affichage de la page html
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai essayé d'implémenter le perceptron artificiel avec python
Python: j'ai essayé menteur et honnête
[Python] J'ai essayé de faire une application qui calcule le salaire en fonction des heures de travail avec tkinter
[1 hour challenge] J'ai essayé de créer un site de bonne aventure qui soit trop adapté à Python
J'ai essayé de créer une API RESTful en connectant l'API rapide du framework Python explosif à MySQL.
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
J'ai essayé de résumer les langues que les débutants devraient désormais apprendre par but