바뀜

둘러보기로 가기 검색하러 가기
1,239 바이트 추가됨 ,  2022년 11월 11일 (금) 10:54
1번째 줄: 1번째 줄:  +
<youtube>https://www.youtube.com/watch?v=g180oHwj4Jg</youtube>
    
==개요==
 
==개요==
9번째 줄: 10번째 줄:  
settings.py에서 경로를 지정해주어야 한다.<syntaxhighlight lang="python">
 
settings.py에서 경로를 지정해주어야 한다.<syntaxhighlight lang="python">
 
STATIC_URL = '/static/'  # 처음부터 기입되어 있는 값. 외부에서 접속할 URL 주소.
 
STATIC_URL = '/static/'  # 처음부터 기입되어 있는 값. 외부에서 접속할 URL 주소.
STATICFILES_DIRS = [ BASEDIR / 'static', ]  # 정적파일을 탐색할 경로를 넣어준다.(여러개 가능)
+
STATICFILES_DIRS = [ BASE_DIR / 'static', ]  # 프로젝트 전체에서 사용할 정적파일을 탐색할 경로를 넣어준다.(여러개 가능)
 +
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder',
 +
                        'django.contrib.staticfiles.finders.AppDirectoriesFinder',]  # 앱 안에서 탬플릿을 관리하듯, 앱 안에 static 디렉터리를 놓고 앱별로 관리할 때 검색하게 해준다.
 
</syntaxhighlight>
 
</syntaxhighlight>
*다른 경로를 쓰고 싶다면 settings.py의 마지막에 추가해주어야 한다.(기본설정이 없다) <code>STATICFILES_DIRS = [BASE_DIR / 'static',]</code> 형태로 추가하면 해당 디렉터리도 경로로 잡는다. 공통 static파일을 모으고 싶을 때 이처럼 사용한다.
+
{| class="wikitable"
STATIC_URL 속성 : 일반적으로 '/static/'이라고 지정하는데, static의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/static/</code>으로 접근하면 스테틱 디렉터리의 루트에 이를 수 있다. ('<nowiki>http://도메인/static/경로'를</nowiki> 검색하면 스태틱 디렉터리 하위에 접근할 수 있다.)
+
! 변수
 +
!기능
 +
|-
 +
|STATIC_URL
 +
|참조 URL을 어떻게 쓸 것인가.
 +
static의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/static/</code>으로 접근하면 스테틱 디렉터리의 루트에 이를 수 있다. ('<nowiki>http://도메인/static/경로'를</nowiki> 검색하면 스태틱 디렉터리 하위에 접근할 수 있다.)
 +
파일명이 asdf라면, <code>도메인/static/asdf</code> 형태로 해당 파일에 접근할 수 있다.
    +
<code><img src="{% static 'photo/asdf.jpg' %}"></code> 형태로 작성하면 경로는 <code>도메인/static/photo/asdf.jpg</code> 로 변경된다.
 +
|-
 +
|STATICFILES_DIRS
 +
|[DEBUG모드에선 이걸 참조해 보여준다.] 개별 앱 외에 전체 static을 저장하는 경로를 지정한다.
 
기본적으로 앱 하위의 static 디렉터리 안의 내용들을 읽지만, 위 속성에 BASEDIR/'static'을 등록함으로써 앱에 종속되지 않는 static을 관리할 수 있다.(탬플릿과 같은 요령.)
 
기본적으로 앱 하위의 static 디렉터리 안의 내용들을 읽지만, 위 속성에 BASEDIR/'static'을 등록함으로써 앱에 종속되지 않는 static을 관리할 수 있다.(탬플릿과 같은 요령.)
   −
[static url 등의 설정들도 가져와 여기에 넣자. 배포 전에 여기에서 설명하면 될듯.]
+
<code>STATICFILES_DIRS = [BASE_DIR / 'static',]</code> 형태로 추가하면 해당 디렉터리도 경로로 잡는다. 공통 static파일을 모으고 싶을 때 이처럼 사용한다.
 +
|-
 +
|STATIC_ROOT
 +
|서비스를 할 때 이 안에서 참조해 보여준다. 서비스 서버에서 사용할 설정을 해준다. [http://id8436.iptime.org:2786/mediawiki/index.php/2._%EC%9E%A5%EA%B3%A0_%EC%8A%A4%ED%85%8C%ED%8B%B1_%EC%84%9C%EB%B9%84%EC%8A%A4%EC%9A%A9_%EC%84%A4%EC%A0%95 서비스용 설정] 문서를 참고해보자.
 +
|}
    
=사용=
 
=사용=
 +
 +
== 탬플릿에서 ==
 
{% load static %}
 
{% load static %}
   −
src="{% static '경로/이미지.png' %} 형태로 사용할 수 있다.
+
src="{% static '경로/이미지.png' %}" 형태로 사용할 수 있다.
 
===별칭 지정하기.===
 
===별칭 지정하기.===
 
{% load static %}
 
{% load static %}
28번째 줄: 47번째 줄:     
위와 같은 형태로 불러와 src="<nowiki>{{button}}</nowiki>" 형태로 사용할 수 있다.
 
위와 같은 형태로 불러와 src="<nowiki>{{button}}</nowiki>" 형태로 사용할 수 있다.
 +
 +
== 뷰에서 ==
 +
 +
= 관련 에러 =
 +
cannot import name 'aPth' from 'pathlib' (C:\....\Python\Python39\lib\pathlib.py)
 +
 +
업데이트 하면서 생긴 오타인 듯하다. import하는 모듈을 aPth가 아닌, Path로 바꿔주면 잘 작동한다.
 +
 +
[[분류:4. 장고 스테틱]]

둘러보기 메뉴