Django에서 static file을 다뤄보겠습니다.
css,js,img 같은 것들을 static file이라고 합니다.
그럼 img 파일을 firstapp/static/firstpp에 넣어주겠습니다.
namespacing을 해주는 이유는 같은 이름의 파일이 다른 앱에 있을 때 일어나는 충돌을 방지하기 위함입니다.
static file을 사용하고 싶으면 setting을 건드려야 합니다.
프로젝트의 settings.py를 열어 맨 아래에 STATIC_URL밑에
다음 코드를 한줄 넣어주면 됩니다.
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
일단 지금은 필요한 코드구나 하고 넘어가겠습니다.
index.html에 image를 넣어 보겠습니다.
1 {% load static %}
2 <html>
3 <head>
4 <meta charset="utf-8">
5
6 <title>first template</title>
7 </head>
8 <body>
9 Hello world!
10 <p>{{ current_date }}</p>
11 <p>{{ current_date|date:"Y년 m월 d일 H시 i분 s초" }}</p>
12 <img src ="{% static 'firstapp/image.jpg'%}" alt='nugget'/>
13 <a href="{% url 'select' %}">select로 이동하기</a>
14 </body>
15
16 </html>
static을 사용할 것이기 때문에
{% load static %}코드를 넣어줍니다.
그리고 태그의 src로 template language를 이용합니다.
static file을 연결할 건데 그것은 firstapp에 있는 image.jpg이다 라는 뜻입니다.
이 상태에서 runserver를 하면 index.html에 접근하면 img파일이 삽입된 것을 확인할 수 있습니다.