흰 스타렉스에서 내가 내리지

static 본문

Django

static

주씨. 2022. 6. 6. 22:27
728x90

 

static과 media의 차이

 

장고는 settings.py 에서 다음 세 가지를 통해 static 파일들을 관리한다.

  • STATICFILES_DIRS
  • STATIC_URL
  • STATIC_ROOT

 

 

STATICFILES_DIRS

static 파일들이 내 개발환경 내의 어디에 위치해 있는지 경로를 알려주도록 한다.

 

STATIC_ROOT

실제로 배포를 할 때, static 파일들을 특정 폴더에 몰아놓고 배포를 할 것이다.

그 때 어떤 경로, 어떤 폴더에 static 파일들을 모아 놓을 것인지를 나타낸다.

'python3 manage.py collectstatic' 명령어를 통해 한 곳에 모아놓을 수 있다. 배포할 때만 필요하며 개발 중엔 필요없다.

 

STATIC_URL

static 파일들을 제공할 url

예를 들어, STATIC_URL = '/static/' 이라면, examle.com/static/### 이라는 경로로 static 파일에 접근이 가능하다.

 

 

static 파일, 한 두개가 아니다. 

장고가 효율적으로 static 파일을 찾기 위해, 미리 관리하고 모아준다 라고 생각하면 된다. 

 

 

 

 

최상위 폴더에 static 폴더를 생성

 

settings.py에 STATICFILES_DIRS 지정

앱 안에 

static 폴더는 이렇게 폴더를 세분화 해주는게 국룰

 

 

 

 

실제로 html에 static 파일을 입혀보자 - 템플릿 태그 이용

{% load static %}
<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="{% static 'css/style.css' %}">
    <title>Static</title>
  </head>

  <body>
    <div>Hello Static!!</div>
    <img src="{% static 'img/Dominic_Thiem.jpeg' %}" alt="">
  </body>

</html>

 

 

 

STATIC_ROOT

배포를 할 때, static 파일들을 모아놓을 경로를 지정해줌

 

'Django' 카테고리의 다른 글

modelForm  (0) 2022.06.07
django form 이용하기  (0) 2022.06.07
앱 추가하고 url 매핑하기  (0) 2022.06.06
가상환경 만들고 장고 개발 세팅하기  (0) 2022.06.06
Django 튜토리얼 파트 9: 폼(form)으로 작업하기  (0) 2022.04.28