티스토리 뷰

Web/Django

[Django]settings.py

HAN_PY 2020. 6. 13. 01:21
반응형

틈틈히 필요할 때 마다 추가를 하겠다.


settings.py 의 55번째 줄

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',

            ],

        },

    },

]


'BACKEND''django.template.backends.django.DjangoTemplates', - BTL 엔진 쓴다는 말이다. jinja2로 변경가능하다

 

'DIRS': [], - 등록된 app이 아닌 다른 곳에서 관리하고 싶다며 추가한다. 앞에서 배운 base.html을 추가하려면 이부분에 경로 설정을 해주어야 한다. 'DIRS': [os.path.join(BASE_DIR, 'templates')] or 'DIRS': [os.path.join(BASE_DIR, '프로젝트이름', 'templates')]  이런식으로 경로에 맞게 적어주면 된다. 이 때 BASE_DIR은 가장 상위 위치(manage.py가 있는곳)라고 생각하면된다.

 

'APP_DIRS'True, - INSTALLED_APPS에 정의(등록)된 APP들의 디렉토리 중에 Templates를 모아서 관리하겠다는 의미이다. 즉, app폴더 안의 templates 폴더 안의 html 파일들을 렌더가 가능하게 한다.

 

'OPTIONS': {

 

'context_processors': [

context를 처리할 때 아래의 4가지를 쓸 수 있게 만들어 놨다.

 

'django.template.context_processors.debug',

 

'django.template.context_processors.request',

이 내용 떄문에 html에 자동으로 context에 request가 담겨서 넘어가기 때문에 html에서 import로 불러 오는 것 없이 사용 가능하다.

 

'django.contrib.auth.context_processors.auth',

유저와 관련된 정보를 쓸 수 있게 만들어 놨다. 따라서 html에서 import 없이 user.is~~~와 같이 user을 만들 수 있게 되었다.

 

'django.contrib.messages.context_processors.messages',

이 부분 때문에 messages를 import 없이 사용가능하다. alert부분 참고

 

 


 

 

 

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',

]


    'django.middleware.security.SecurityMiddleware',

 

    'django.contrib.sessions.middleware.SessionMiddleware',

 

    'django.middleware.common.CommonMiddleware',

 

    'django.middleware.csrf.CsrfViewMiddleware',

form태그에서 POST로 보낼 때, 해킹을 방기하기위한 {% csrf_token %}관련 기능을 수행한다.

 

    'django.contrib.auth.middleware.AuthenticationMiddleware',

 

    'django.contrib.messages.middleware.MessageMiddleware',

message framework 부분

 

    'django.middleware.clickjacking.XFrameOptionsMiddleware',

반응형

'Web > Django' 카테고리의 다른 글

[Django] 참고 사이트  (0) 2020.06.16
[Django]urls 분리  (0) 2020.06.14
6-2. [DTL] 템플릿 확장(base.html)  (0) 2020.05.06
6-1. [DTL] django template language  (0) 2020.05.05
5-2. django_variable routing 기초(int)  (0) 2020.05.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함