[PYTHON] Référence du projet Django

Créer un répertoire et créer un environnement virtuel dans Terminal

Répertoire racine du projet

terminal@Annuaire approprié


mkdir {project-name}
cd {project-name}

Environnement virtuel

Créer

terminal@root-dir


python -m venv {env-name}
Commencez

terminal(ps)


{env-name}\Scripts\activate

or

terminal(bash)


source {env-name}/bin/activate



Une fois que vous avez fait cela Travaillez en ouvrant le fichier projet et le terminal dans l'éditeur




Création de projets et d'applications Django

Créer un projet Django

terminal


python -m pip install --upgrade pip
python -m pip install Django
django-admin.exe startproject {project-name} .

Création d'applications

terminal


python manage.py startapp {app-name} .



d'ici, La partie principale de la ligne de base, y compris l'isolation de setting.py par environnement et la gestion des variables d'environnement par .env.




Histoire principale

Ajout de répertoires statiques et de modèles directement sous le répertoire Application

Créez urls.py directement sous le répertoire Application

Créer

{app-dir}/urls.py


from django.urls import path, include
from django.conf.urls import url

from . import views


app_name = '{app-name}'

urlpatterns = [
    path('', views.index, name='index'),  #le gestionnaire d'index est des vues.Supposons qu'il soit défini dans py
]
Le routage géré par app-dir est appelé par project-dir.

{project-dir}/urls.py


from django.conf.urls.static import static
from django.conf import settings
from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView


urlpatterns = [
    path('admin/', admin.site.urls),
    path("", include("fit.urls")),
    path('sw.js', (TemplateView.as_view(template_name="book_manager/sw.js", content_type='application/javascript', )), name='sw.js'),
]

Définition du gestionnaire dans views.py

views.py


from django.shortcuts import render


def index(request):
    return render(request, "fit/index.html", {
        "key": "value",
    })

Paramètres Settings.py utilisant .env

install django-dotenv

terminal


python -m pip install django-dotenv
Création .env

root/.env


SECRET_KEY = {Clé secrète copiée}
DJANGO_SETTINGS_MODULE = fitmod.settings.local  #Local(les paramètres seront séparés plus tard)
Modification de settings.py (seule la partie modifiée / ajoutée est décrite)

settings.py


from dotenv import load_dotenv

# loading env-vars
load_dotenv('.env')

SECRET_KEY = os.getenv("SECRET_KEY")

# ~Abréviation~

INSTALLED_APPS = [
    ...
    '{app-name}', 
]

# ~Abréviation~

LANGUAGE_CODE = "ja"

TIME_ZONE = "Asia/Tokyo"

Isolation de settings.py

Réécrire settings.py chargé par wsgi.py et manage.py en utilisant .env

wsgi

root/{project-dir}/wsgi.py


import os

from django.core.wsgi import get_wsgi_application
from dotenv import load_dotenv


load_dotenv('.env')
DJANGO_SETTINGS_MODULE = os.getenv("DJANGO_SETTINGS_MODULE")

os.environ.setdefault('DJANGO_SETTINGS_MODULE', DJANGO_SETTINGS_MODULE)

application = get_wsgi_application()

wsgi

root/manage.py


#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys

from dotenv import load_dotenv


load_dotenv('.env')
DJANGO_SETTINGS_MODULE = os.getenv("DJANGO_SETTINGS_MODULE")


def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', DJANGO_SETTINGS_MODULE)
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()



La fin de la partie principale de la ligne de base.




migration

terminal


python manage.py makemigrations
python manage.py migrate

createsuperuser

terminal


python manage.py createsuperuser

Démarrage du serveur

terminal


python manage.py runserver

Structure du répertoire

{root-dir}/
     │
     ├ {project-name(project-dir)}
     │     ├ settings    #ajouter à
     │    │     ├ init.py
     │    │     ├ local.py
     │    │     └ production.py
     │    ├ init.py
     │    ├ urls.py
     │    ├ asgi.py
     │    ├ wsgi.py
     │     └ db.sqlite3  #Lors de l'utilisation de SQLite
     │
     ├ {app-name(app-dir)}
     │     ├ migrations
     │     ├ template    #ajouter à
     │     │     └ {app-name}
     │     │       └ ...
     │     ├ static      #ajouter à
     │     │    └ {app-name}
     │     │        └ ...
     │    ├ init.py
     │     ├ admin.py
     │     ├ apps.py
     │     ├ model.py
     │     ├ test.py
     │     ├ urls.py     #ajouter à
     │     └ views.py
     │
     ├ venv/
     │   └ ...
     │
     ├ manage.py
     │
     ├ .env              #ajouter à
     ├ .gitignore        #ajouter à
     ├ requirements.txt  #ajouter à(Lors de l'utilisation d'heroku)
     ├ Procfile          #ajouter à(Lors de l'utilisation d'heroku)
     ├ runtime.txt       #ajouter à(Lors de l'utilisation d'heroku)
     └ db.sqlite3  #Lors de l'utilisation de SQLite

.gitignore

root/.gitignore


*.pyc
*~
__pycache__
db.sqlite3
/static
.env
venv

Recommended Posts

Référence du projet Django
Construction de l'environnement du projet Django
[Django] Renommer le projet
Démarrer un projet Django
Django
Shell pour créer un projet django
construction de l'environnement de développement de projet django
Déployer le projet django sur heroku
Étapes pour créer un projet Django
Enregistrer l'application Django dans le projet
mise à jour de Django
Django Note 4
Projet Euler 37
Projet Euler 47
Projet Euler 31
Projet Euler 4
recherche django
Projet Euler 38
Installation de Django
Projet Euler 26
Projet Euler 8
Résumé de Django
Test Django
Projet Euler 22
Projet Euler 19
Projet Euler 50
Projet Euler 33
Commandes pour créer un nouveau projet django
Projet Euler 32
Projet Euler 43
Django # 2 (modèle)
Django Note 5
Touchez django
Mémo Django
Résumé de Django
Projet Euler 35
Projet Euler 36
Les bases de Django
CentOS8 + Apache2.4 + pyenv + mod_wsgi + Déploiement de projet Django
Projet Euler 24
Django Shoho
Projet Euler 48
Projet Euler 45
Paramètres initiaux de Django
Projet Euler 6
Projet Euler 44
Django + Docker
Projet Euler 39
Projet Euler 40
Glossaire Django
Projet Euler 49
Projet Euler 29
Projet Euler 27
Projet Euler 41
Installation de Django
Paramètres du serveur HTTPS de Django Project: Let's Encrypt
Personnalisation de la structure du projet Django (fractionnement et structuration)
Django: Références
Projet Euler 18
Projet Euler 13