[PYTHON] Django - démarrer le projet sans démarrer le projet

C'est une connaissance superficielle de Django Newbie, mais je l'écrirai sous forme de mémorandum.

introduction

Lors de la création d'un nouveau projet dans Django, sur la ligne de commande

$ django-admin startproject project_name

Je pense que vous démarrez souvent un projet en tapant. Cette commande crée automatiquement un projet dans Django 1.8 avec une disposition de répertoire similaire à la suivante:

project_name/
    manage.py
    project_name/
        __init__.py
        settings.py
        urls.py
        wsgi.py

Dès le début, il serait très utile pour Newbie de se préparer dès le début, mais en fait, il semble y avoir un moyen de créer un projet dans l'état initial de votre choix sans ces fichiers créés automatiquement.

Maintenant.

Créons maintenant un projet. Cette fois, je voudrais afficher "Hello, World!" Sur le navigateur en utilisant un fichier python. Créez un fichier appelé hello.py dans un répertoire approprié.

Tout d'abord, de la vue

Commençons par créer une vue. Cela dit, c’est très simple,

hello.py


from django.http import HttpResponse

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

Tapez simplement. Il écoute une requête et renvoie une chaîne. C'est ce qui est décrit à l'origine dans view.py.

URL Patterns Vient ensuite le réglage des urlpatterns. Le modèle d'expression régulière détermine quelle vue est renvoyée pour quelle demande d'URL. Cette fois, une seule chaîne de caractères est affichée, il n'y a donc qu'un seul modèle d'URL. Cela sera également ajouté à hello.py.

hello.py


...
from django.conf.urls import url

urlpatterns = {
    url(r'^$', index),
}

settings Ici, dans le projet par défaut, les paramètres minimum requis décrits dans settings.py, tels que ROOT_URLCONF et MIDDLEWARE_CLASSES, sont ajoutés à hello.py.

hello.py


...
from django.conf import settings

settings.configure(
    DEBUG = True,
    SECRET_KEY = 'secretkey',
    ROOT_URLCONF = __name__,
    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    )
)

C'est tout pour le code principal. Et ça. C'est un peu inquiétant par rapport au projet par défaut, mais cela fonctionne bien en tant que projet Django.

Afin de démarrer ce projet, importez sys.

hello.py


import sys

...

if __name__ == '__main__':
    from django.core.management import execute_from_command_line
    execute_from_command_line(sys.argv)

c'est tout. Sur la ligne de commande $ python hello.py runserver

Entrer. Ensuite, la même chaîne de caractères que lors du démarrage de manage.py du projet par défaut apparaît sur la ligne de commande, et lors de l'accès à http://127.0.0.1:8000/, "Hello, World!" S'affiche comme prévu. Je pense.

De quoi es-tu heureux

Maintenant, ce qui me rend heureux lorsque je crée un projet à partir de zéro comme celui-ci, c'est que je peux créer un projet différent en utilisant le projet que j'ai créé comme modèle. Par exemple, supposons que vous mettez le hello.py que vous venez de créer dans le répertoire suivant.

hello/
    hello.py

Dans ce cas, bonjour est le nom du projet. Maintenant, créons un nouveau projet basé sur ce projet Hello.

Dans le même répertoire que votre projet hello, entrez la commande suivante: $ django-admin startproject hoge --template=hello Ensuite, au lieu de la présentation de projet par défaut de Django,

hoge/
    hello.py

Le projet commencera avec une mise en page comme celle-ci. Tant que vous créez un modèle, vous pouvez modifier librement la mise en page en fonction de l'échelle et des fonctions du projet que vous créez.

Comme mentionné ci-dessus, je voudrais poster s'il y a des découvertes.

Recommended Posts

Django - démarrer le projet sans démarrer le projet
Démarrer un projet Django
Démarrer le didacticiel Django 1
Référence du projet Django
Construction de l'environnement du projet Django
[Django] Renommer le projet
Django à partir d'aujourd'hui
Shell pour créer un projet django
construction de l'environnement de développement de projet django
Déployer le projet django sur heroku
Solution lorsque Django démarrer le projet n'est pas possible sous Windows
Étapes pour créer un projet Django
Enregistrer l'application Django dans le projet
Django
Apprentissage profond pour démarrer sans GPU
Démarrez Django pour la première fois
Commandes pour créer un nouveau projet django
CentOS8 + Apache2.4 + pyenv + mod_wsgi + Déploiement de projet Django
Paramètres du serveur HTTPS de Django Project: Let's Encrypt
Personnalisation de la structure du projet Django (fractionnement et structuration)
[Python] Présentez UIKit3 au projet Django
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur