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 **
Es ist wie ein Fluss.
Erstellen Sie zunächst ein Projektverzeichnis vom Terminal aus.
.sh
mkdir sample_project
cd sample_project
Erstellen Sie als Nächstes eine virtuelle Umgebung.
.sh
virtualenv myvenv
source myvenv/bin/activate
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.
.sh
django-admin startproject sample_project
cd sample_project
Erstellen Sie als Nächstes eine Datenbank und registrieren Sie die Anwendung (App).
.sh
python manage.py migrate
python manage.py startapp sample_app
.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