🐍 파이썬 (Python)

장고 (Django) - 설치 , 프로젝트 시작하기, 앱 만들기 , 앱 등록하기

Newmon 2019. 12. 28. 17:47

*장고 설치하기

* pip install django 를 입력해 장고를 설치해줍니다.

장고가 설치되면, django-admin 으로 시작되는 명령을 할 수 있습니다. 일단 가장먼저 프로젝트를 만들어줘야 합니다.

 

 

*프로젝트 생성하기

*django-admin startproject "프로젝트 이름"

입력을 하고나면 , 폴더가 생기고, 안에 여러가지 파이썬 파일이 생깁니다. (장고라는 프레임워크가 프로젝트의 구성요소를 만들어줍니다.)

저는 django-admin startproject new_1 으로 했기때문에 new_1이라는 폴더가 생겼습니다.

 

다음은 프로젝트 속을 구성해줄 app 을 생성합니다.

 

 

*app 생성하기

 

*django-admin startapp "앱 이름"

마찬가지로 앱을 생성하면 폴더가 생깁니다. 저는 user 라는 앱을 만들었습니다.

몇가지 폴더와 파이썬 파일들이 생겼습니다. 이때 나중에 사용할 html파일을 넣기 위한 "templates"라는 폴더를 만들어 줘야 합니다. 안에 페이지를 구성할 html파일을 넣고, 장고에서 이를 사용하기 위함입니다.

 

*앱 등록하기

 

마지막으로 앱을 만들었으므로 등록해주어야 합니다.

프로젝트 폴더 - 프로젝트명과 같은이름의 폴더 - settings.py 에 들어갑니다.

 

*setting.py

"""
Django settings for new_1 project.

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

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

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

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


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

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '=2gx!y#c)ht56tyv_5a4-1iq8of3d526y5r3pe8g)pu^^i_gqe'

# 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',
    
    ##############이곳에 생성한 앱 이름을 적어주어야 합니다
    'user'
]

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 = 'new_1.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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 = 'new_1.wsgi.application'


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

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# Password validation
# https://docs.djangoproject.com/en/3.0/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.0/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


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

STATIC_URL = '/static/'

40번째 줄쯤, INSTALLED_APPS = 안에 자신이 생성한 App 이름을 적으면 사용할 준비가 된 겁니다.