[PYTHON] (Pour moi) Django_1 (Basic / Hello World / Template)

article

  1. Créez un projet Django
  2. Spécification de l'adresse du serveur
  3. Essayez d'exécuter Django
  4. Hello World
  5. Modèle d'appel (html)
  6. Passer les données du côté py au modèle

1. Faites un projet

--Project = Unité qui organise les applications ――Je pense qu'il vaut mieux créer une application pour chaque fonction de l'APP et enfin la mettre ensemble dans un projet stupide

Terminal


#Vérifiez une seule fois la version de Django
$ python -m django --version

#Créez un projet appelé myapp et placez startproject pour préparer le contenu du projet dans une certaine mesure
$ django-admin startproject myapp

――Cela crée un répertoire appelé myapp dans le répertoire dans lequel vous étiez. --Contenu de myapp --manage.py: Le nom que vous utilisez pour exécuter et gérer ce projet --myapp (Il y a une autre myapp dans myapp) --__init __. py: Déclare d'utiliser Python dans ce répertoire --ʻAsgi.py: Cela semble être le point de départ lors de la connexion à un serveur compatible ASGI, je ne suis pas sûr --settings.py: Vous pouvez jouer avec les paramètres du projet en éditant ici. --ʻUrls.py: Décidez quelle def exécuter lors de la connexion ici -- wsgi.py: Je n'ai aucune idée du point de départ lors de la connexion à un serveur compatible WSGI.

2. Spécification de l'adresse du serveur

--Je vous dirai à quelle adresse se connecter depuis le serveur

settings.py


#Découvrez ici et entrez l'adresse de votre page

# SECURITY WARNING: don't run with debug turned on in production!
# DEBUG = True

ALLOWED_HOSTS = ["Mon adresse"]

3. Essayez d'exécuter Django

Terminal


#Aller sur myapp
$ cd myapp

#Exécutez le serveur de Django
$ python manage.py runserver

4.Hello World --Project = Une collection de nombreuses applications

Terminal


#Myapp fait ci-dessus(Grand projet stupide)Déménager à
$ cd myapp

#Déclarez de créer une application dans myapp et créez une application avec startapp
#Il est préparé dans une certaine mesure dans l'application créée sans exception
$ python manage.py startapp hello

myapp


myapp
┣━ hello
┣━ manage.py
┗━ myapp

――Un répertoire comme celui-ci est créé

views.py


from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello World')

--ʻIndex (request) renvoie la valeur contenue dans HttpResponse ()lorsque cette fonction est demandée --OK si vous vous souvenez de renvoyer le contenu deHttpResponse lorsque la méthode de requête` est terminée

myapp/myapp/urls.py


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

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

myapp/hello/urls.py


from django.urls import path
from . import views

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

myapp/myapp/settings.py


#Trouvez ici et ajoutez!
INSTALLED_APPS = [
    'hello.apps.HelloConfig', #Ajoute ça!
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

--Définir à quelle classe se référer --Si le nom de l'application est bbs, écrivez-le comme bbs.apps.BbsConfig

Terminal


#Revenir au répertoire du projet...
$ cd myapp

#Lancez Django!
$ python manage.py runserver

5. Modèle d'appel (html)

--Appelez le modèle (html) depuis views.py et utilisez-le

myapp/hello/views.py


from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return render(request, 'hello/index.html')

--html peut être spécifié en mettant PATH dans return render ()

index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <p>Hello WoWWoW</p>
</body>
</html>

--ʻIndex.htmlpeut être écrit normalement pour le moment --Complet siHello WoWWoW` est affiché dans le résultat de l'exécution

6. Passer les données du côté py au modèle

views.py


from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    context = {
        'message': 'Hello World',
        'players': ['Courageux', 'guerrier', 'sorcier', 'Ninja']
    }
    enemy = "Vase"
    return render(request, 'hello/index.html', context ,enemy)

--Mettez ce que vous voulez passer comme ça dans return render ()

(templates)/hello/index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <p>{{ message }}</p>
        {% for player in players %}
            <p>{{ player }}A combattu un monstre</p>
        {% endfor %}
    <p>{{ enemy }}</p>
</body>
</html>

--En entrant le nom de la variable dans {{~~}}, vous pouvez passer le contenu écrit du côté py.

7. À la fin

――C'est trop gênant par rapport à Flask!

Recommended Posts

(Pour moi) Django_1 (Basic / Hello World / Template)
Hello World avec Django
Pour moi en tant que débutant Django (3) - Bonjour tout le monde! ---
Hello World (débutant) avec Django
Python #Hello World pour les super débutants
Django # 2 (modèle)
Bonjour le monde
Bonjour tout le monde pas localhost à Django
Ecrire brièvement if-else du template Django
python [pour moi]
Modèle HTML Django partie 2
Pymacs helloworld
Prise en charge de l'internationalisation avec Django 1.9
Astuces pour les modèles Django
Créez une application Hello World avec un seul fichier avec django
cython helloworld
Organiser les fichiers de modèle Django
web2py Remarque: Bonjour le monde
FX_tool pour Hython Basic02
bonjour le monde avec ctypes
Tutoriel RabbitMQ 1 ("Hello World!")
[Série Django] Commandes de base
mémo heroku (pour moi)
Bonjour le monde avec Docker
Le premier Hello World de Django
Bonjour le monde sur flacon
FX_tool pour Hython Basic01
Mémorandum Freecad (pour moi)
(Pour moi-même) Flask_6 (Open db depuis python, Mysql basic (phpMyAdmin))