[PYTHON] Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen

Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen

Ich habe bisher Dutzende von Produkten mit Django hergestellt Das Verfahren zum tatsächlichen Start der Entwicklung ist fast das gleiche, daher habe ich es dieses Mal kurz zusammengefasst.

** Entwicklungsstartfluss **

  1. Erstellen Sie einen Ordner
  2. Erstellen Sie eine virtuelle Umgebung
  3. Installieren Sie Django
  4. Erstellen Sie ein Projekt
  5. Registrieren Sie die Anwendung
  6. Nehmen Sie die Grundeinstellungen in settings.py vor
  7. Führen Sie die grundlegende Implementierung durch.

Es ist wie ein Fluss.

Erstellen Sie einen Ordner

Erstellen Sie zunächst ein Projektverzeichnis vom Terminal aus.

.sh



mkdir sample_project
cd sample_project

Erstellen Sie eine virtuelle Umgebung

Erstellen Sie als Nächstes eine virtuelle Umgebung.

.sh



virtualenv myvenv
source myvenv/bin/activate

Installieren Sie Django

Installieren Sie Django. Da postgreSQL verwendet wird, ist auch psycopg2-binary installiert. Installieren Sie danach Pillow, Widget_tweaks und Environ.

.sh



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

Erstellen Sie ein Projekt

Erstellen Sie ein Projekt.

.sh



django-admin startproject sample_project
cd sample_project

Registrieren Sie die Anwendung

Erstellen Sie als Nächstes eine Datenbank und registrieren Sie die Anwendung (App).

.sh



python manage.py migrate
python manage.py startapp sample_app

Nehmen Sie die Grundeinstellungen in settings.py vor.

.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/'

Sie müssen lediglich einen statischen Ordner oder einen Vorlagenordner im Verzeichnis direkt unter Ihrem Projekt erstellen.

.sh



mkdir templates
mkdir static

Die Projekterstellung ist auch in Just Python Document zusammengefasst.

das ist alles.

Recommended Posts

Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen
Wie fange ich mit Django an?
Wie fange ich mit Scrapy an?
Erste Schritte mit Python
Schritt Notizen, um mit Django zu beginnen
Node.js: So töten Sie Nachkommen eines Prozesses, der von child_process.fork () gestartet wurde
Der einfachste Weg, um mit Django zu beginnen
So implementieren Sie "named_scope" von RubyOnRails mit Django
Zubu Amateur will Python starten
Zusammenfassung zum Erstellen einer LAMP + Wordpress-Umgebung mit Sakura VPS
Fangen Sie mit Django an! ~ Tutorial ⑤ ~
So erhalten Sie einen angemeldeten Benutzer mit Djangos forms.py
Fangen Sie mit Django an! ~ Tutorial ④ ~
Fangen Sie mit Django an! ~ Tutorial ⑥ ~
Eine kurze Zusammenfassung von Linux
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Erste Schritte mit Visual Studio Online ~ Das Ende der Ära der Umgebungskonstruktion ~
[Linux] [C / C ++] Zusammenfassung, wie man pid, ppid, tid bekommt
Ich habe versucht, mit Hy ・ Define a class zu beginnen
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
So erhalten Sie eine Liste mit Links von einer Seite aus Wikipedia
Link, um mit Python zu beginnen
Zusammenfassung der Verwendung von pandas.DataFrame.loc
Eine kurze Zusammenfassung der Python-Sammlung
Zusammenfassung der Verwendung von pyenv-virtualenv
Ich habe die Quantenbits (Anfänger) kurz zusammengefasst.
Zusammenfassung der Verwendung von csvkit
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)
[Hugo] Zusammenfassung zum Hinzufügen von Seiten zu der mit Learn erstellten Site
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
[Python] So erhalten Sie mit Enum einen Wert mit einem anderen Schlüssel als dem Wert
So führen Sie eine arithmetische Verarbeitung mit der Django-Vorlage durch
[Python] Zusammenfassung der Verwendung von Pandas
[Django lernt mit der Klinge des Teufels] So erhalten Sie einen Abfragesatz für die Vorwärts- / Rückwärtsreferenz
Wie man lange Einschlüsse loswird
So fügen Sie ein Paket mit PyCharm hinzu
So überprüfen Sie die Version von Django
Ich habe versucht, mit Hy anzufangen
Wie bekomme ich Stacktrace in Python?
[Python2.7] Zusammenfassung der Verwendung von unittest
Eine kurze Zusammenfassung der Pinax-Übersicht #djangoja
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Wie Python-Anfänger mit Progete beginnen
Zusammenfassung des Schreibens von AWS Lambda
So finden Sie den Ansichtsnamen mit dem Namespace über die URL (path_info) in Django
Wie man lernt, bis ein Anfänger in Statistik mit der Bayes'schen Statistik beginnt
Wie man mit verstümmelten Charakteren in json von Django REST Framework umgeht
So berechnen Sie die Volatilität einer Marke
Lesen einer CSV-Datei mit Python 2/3
So senden Sie eine Nachricht mit Curl an LINE