반응형
[Django] static 파일 불러오기
static
폴더 : css, image, js 파일을 포함하는 폴더이다.
먼저 settings.py에서 static 폴더 위치를 설정해 준다.
Django예제에서와 같이 앱들과 동등한 위치에 static폴더를 만들 경우
아래와 같이 staticfiles_dirs에 경로를 추가해 주면된다.
// settings.py
STATIC_DIR = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATIC_DIR,
]
s
만약, static폴더를 다른 곳에 만들고 싶다면 어떻게 해야할까?
예를 들어, myapp 이라는 앱 폴더 내에 존재할 경우,
똑같이 경로를 staticfiles_dirs에 추가해 주면된다.
// settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "/myapp/static"),
]
STATICFILES_DIRS는 리스트
이기 때문에 여러 개 입력이 가능하다.
// settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATIC_DIR,
os.path.join(BASE_DIR, "/myapp/static"),
]
그리고 나서, static파일을 추가할 html파일 상단에 static 파일을 불러오겠다는 선언을 추가해 준다.{% load static %}
는 static를 불러오겠다는 뜻이다.<!DOCTYPE html>
밑에 선언해 준다.
<!DOCTYPE html>
{% load static %} <!-- Django 1.10 이상 -->
{% load staticfiles %} <!-- Django 1.10 미만 -->
이제, html에서 static폴더에 접근할 수 있는 권한을 갖게 되었다.
그럼, 이미지/Javascript/Css 등을 불러오려면 어떻게 해야 할까?
예를 들어, static/css/mystyle.css파일을 사용할 경우 아래와 같이 경로를 추가하여 사용하면 된다.
형식은 다음과 같다. {% static 'static 하위 경로' %}
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<link rel="stylesheet" href="{% static 'css/mystyle.css' %}">
</head>
반응형
'Python > Django' 카테고리의 다른 글
[Django] Django Rest API 특정 필드 제외하고 검색하기 (0) | 2019.07.31 |
---|---|
[Django][RestAPI] Image Path로 서버에 이미지 업로드하기 (2) | 2019.07.24 |
[Django] Vue.js 사용하기 (1) | 2019.06.05 |
[Django] Database 테이블에 데이터가 없을 때 만 추가하는 방법 (0) | 2019.01.31 |
[Django] target wsgi script wsgi.py cannot be loaded as python module 에러 해결 방법 (0) | 2019.01.29 |