[PYTHON] J'ai essayé de résumer brièvement la procédure de démarrage du développement de Django

J'ai essayé de résumer brièvement la procédure de démarrage du développement de Django

J'ai créé des dizaines de produits avec Django jusqu'à présent La procédure de démarrage du développement est presque la même, je l'ai donc résumée brièvement cette fois.

** Flux de démarrage du développement **

  1. Créez un dossier
  2. Créez un environnement virtuel
  3. Installez Django
  4. Créez un projet
  5. Enregistrez l'application
  6. Définissez les paramètres de base dans settings.py
  7. Effectuez la mise en œuvre de base.

C'est un flux comme.

Créer un dossier

Commencez par créer un répertoire de projet à partir du terminal.

.sh



mkdir sample_project
cd sample_project

Créer un environnement virtuel

Ensuite, créez un environnement virtuel.

.sh



virtualenv myvenv
source myvenv/bin/activate

Installez Django

Installez Django. Comme postgreSQL est utilisé, psycopg2-binary est également installé. Après cela, installez oreiller, widget_tweaks et environ.

.sh



pip install django pillow psycopg2-binary django-widget-tweaks, django-environ

Créer un projet

Créez un projet.

.sh



django-admin startproject sample_project
cd sample_project

Enregistrez l'application

Ensuite, créez une base de données, puis enregistrez l'application (app).

.sh



python manage.py migrate
python manage.py startapp sample_app

Définissez les paramètres de base dans settings.py.

.settings.py



"""
Django settings for app project.

Generated by 'django-admin startproject' using Django 3.1.1.

For more information on this file, see
https://docs.djangoproject.com/en/3.1/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.1/ref/settings/
"""

from pathlib import Path
import os
import environ

env = environ.Env(DEBUG=(bool, False),)
environ.Env.read_env('.env')

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
PROJECT_NAME = os.path.basename(BASE_DIR)


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env('SECRET_KEY')

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


ALLOWED_HOSTS = ['*']

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'sample_app',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'sample_project.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'sample_project.wsgi.application'

# https://docs.djangoproject.com/en/3.1/ref/settings/#databases



DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# Password validation
# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images) and Media files
# https://docs.djangoproject.com/en/3.1/howto/static-files/

STATIC_URL = '/static/'
# STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static/')
]

MEDIA_URL = '/media/'
MEDIA_ROOT = 'media/'

Tout ce que vous avez à faire est de créer un dossier statique ou des modèles dans le répertoire directement sous votre projet.

.sh



mkdir templates
mkdir static

La création du projet est également résumée dans Just Python Document.

c'est tout.

Recommended Posts

J'ai essayé de résumer brièvement la procédure de démarrage du développement de Django
Comment démarrer avec Django
Comment démarrer avec Scrapy
Comment démarrer avec Python
Notes d'étape pour démarrer avec django
Node.js: Comment tuer les descendants d'un processus démarré par child_process.fork ()
Le moyen le plus simple de démarrer avec Django
Comment implémenter "named_scope" de RubyOnRails avec Django
Zubu amateur veut démarrer Python
Résumé de la création d'un environnement LAMP + Wordpress avec Sakura VPS
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Comment obtenir un utilisateur connecté avec les forms.py de Django
Lancez-vous avec Django! ~ Tutoriel ④ ~
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Un bref résumé de Linux
Résumé de la façon de partager l'état avec plusieurs fonctions
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment démarrer avec Visual Studio Online ~ La fin de l'ère de la construction d'environnement ~
[Linux] [C / C ++] Résumé de la façon d'obtenir pid, ppid, tid
J'ai essayé de commencer avec Hy ・ Définir une classe
Comment afficher une liste des versions installables avec pyenv
Comment obtenir une liste d'exceptions intégrées pour python
Comment obtenir une liste de liens à partir d'une page de wikipedia
Lien pour commencer avec python
Résumé de l'utilisation de pandas.DataFrame.loc
Un bref résumé de la collection Python
Résumé de l'utilisation de pyenv-virtualenv
J'ai brièvement résumé les bits quantiques (débutants)
Résumé de l'utilisation de csvkit
Exécutez le programme sans créer d'environnement Python! !! (Comment démarrer avec Google Colaboratory)
[Hugo] Résumé de la façon d'ajouter des pages au site créé avec Learn
Comment obtenir l'ID de Type2Tag NXP NTAG213 avec nfcpy
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
[Python] Comment obtenir une valeur avec une clé autre que value avec Enum
Comment effectuer un traitement arithmétique avec le modèle Django
[Python] Résumé de l'utilisation des pandas
[Apprentissage de Django avec la lame du diable] Comment obtenir un ensemble de requêtes pour une référence avant / arrière
Comment se débarrasser des longues inclusions
Comment ajouter un package avec PyCharm
Comment vérifier la version de Django
J'ai essayé de commencer avec Hy
Comment obtenir stacktrace en python
[Python2.7] Résumé de l'utilisation d'unittest
Un bref résumé de la vue d'ensemble de Pinax #djangoja
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Comment les débutants en Python commencent avec Progete
Résumé de l'écriture d'AWS Lambda
Pour trouver le nom de la vue avec l'espace de noms à partir de l'URL (path_info) dans Django
Comment étudier jusqu'à ce qu'un débutant en statistique se lance avec les statistiques bayésiennes
Comment gérer les caractères déformés dans json de Django REST Framework
Comment calculer la volatilité d'une marque
Comment lire un fichier CSV avec Python 2/3
Comment envoyer un message à LINE avec curl