"1. 장고 스테틱 개요"의 두 판 사이의 차이
(→경로지정) |
|||
9번째 줄: | 9번째 줄: | ||
settings.py에서 경로를 지정해주어야 한다.<syntaxhighlight lang="python"> | settings.py에서 경로를 지정해주어야 한다.<syntaxhighlight lang="python"> | ||
STATIC_URL = '/static/' # 처음부터 기입되어 있는 값. 외부에서 접속할 URL 주소. | STATIC_URL = '/static/' # 처음부터 기입되어 있는 값. 외부에서 접속할 URL 주소. | ||
− | STATICFILES_DIRS = [ BASEDIR / 'static', ] # 정적파일을 탐색할 경로를 넣어준다.(여러개 가능) | + | STATICFILES_DIRS = [ BASEDIR / 'static', ] # 프로젝트 전체에서 사용할 정적파일을 탐색할 경로를 넣어준다.(여러개 가능) |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | {| class="wikitable" | |
− | + | ! 변수 | |
+ | !기능 | ||
+ | |- | ||
+ | |STATIC_URL | ||
+ | |참조 URL을 어떻게 쓸 것인가. | ||
+ | 파일명이 asdf라면, <code>도메인/static/asdf</code> 형태로 해당 파일에 접근할 수 있다. | ||
+ | <code><img src="{% static 'photo/asdf.jpg' %}"></code> 형태로 작성하면 경로는 <code>도메인/static/photo/asdf.jpg</code> 로 변경된다. | ||
+ | |||
+ | 일반적으로 '/static/'이라고 지정하는데, static의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/static/</code>으로 접근하면 스테틱 디렉터리의 루트에 이를 수 있다. ('<nowiki>http://도메인/static/경로'를</nowiki> 검색하면 스태틱 디렉터리 하위에 접근할 수 있다.) | ||
+ | |- | ||
+ | |STATICFILES_DIRS | ||
+ | |[DEBUG모드에선 이걸 참조해 보여준다.] 개별 앱 외에 전체 static을 저장하는 경로를 지정한다. | ||
기본적으로 앱 하위의 static 디렉터리 안의 내용들을 읽지만, 위 속성에 BASEDIR/'static'을 등록함으로써 앱에 종속되지 않는 static을 관리할 수 있다.(탬플릿과 같은 요령.) | 기본적으로 앱 하위의 static 디렉터리 안의 내용들을 읽지만, 위 속성에 BASEDIR/'static'을 등록함으로써 앱에 종속되지 않는 static을 관리할 수 있다.(탬플릿과 같은 요령.) | ||
− | [static | + | <code>STATICFILES_DIRS = [BASE_DIR / 'static',]</code> 형태로 추가하면 해당 디렉터리도 경로로 잡는다. 공통 static파일을 모으고 싶을 때 이처럼 사용한다. |
+ | |- | ||
+ | |STATIC_ROOT | ||
+ | |디버그 모드가 아닌 서비스를 할 때 이 안에서 참조해 보여준다. | ||
+ | |} | ||
=사용= | =사용= |
2021년 6월 8일 (화) 20:22 판
1 개요
이미지, 음원 등을 불러올 때 경로를 지정해주어야 하는데, 디렉터리에 저장된 파일을 불러오기 위한 기능이다.
이미지, CSS나 js같은 변하지 않는 정적 파일을 사용하기 위한 기능이다.(사용자가 올리는 파일들과 구분. 변하는 파일은 Media에서 관리한다.)
2 사전준비
2.1 경로지정
settings.py에서 경로를 지정해주어야 한다.
STATIC_URL = '/static/' # 처음부터 기입되어 있는 값. 외부에서 접속할 URL 주소.
STATICFILES_DIRS = [ BASEDIR / 'static', ] # 프로젝트 전체에서 사용할 정적파일을 탐색할 경로를 넣어준다.(여러개 가능)
변수 | 기능 |
---|---|
STATIC_URL | 참조 URL을 어떻게 쓸 것인가.
파일명이 asdf라면,
일반적으로 '/static/'이라고 지정하는데, static의 url root를 설정하는 것이라 생각하면 된다. |
STATICFILES_DIRS | [DEBUG모드에선 이걸 참조해 보여준다.] 개별 앱 외에 전체 static을 저장하는 경로를 지정한다.
기본적으로 앱 하위의 static 디렉터리 안의 내용들을 읽지만, 위 속성에 BASEDIR/'static'을 등록함으로써 앱에 종속되지 않는 static을 관리할 수 있다.(탬플릿과 같은 요령.)
|
STATIC_ROOT | 디버그 모드가 아닌 서비스를 할 때 이 안에서 참조해 보여준다. |
3 사용
{% load static %}
src="{% static '경로/이미지.png' %} 형태로 사용할 수 있다.
3.1 별칭 지정하기.
{% load static %}
{% static '경로/이미지.png' as button %}
위와 같은 형태로 불러와 src="{{button}}" 형태로 사용할 수 있다.