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> |
| {| class="wikitable" | | {| class="wikitable" |
17번째 줄: |
20번째 줄: |
| |STATIC_URL | | |STATIC_URL |
| |참조 URL을 어떻게 쓸 것인가. | | |참조 URL을 어떻게 쓸 것인가. |
| + | static의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/static/</code>으로 접근하면 스테틱 디렉터리의 루트에 이를 수 있다. ('<nowiki>http://도메인/static/경로'를</nowiki> 검색하면 스태틱 디렉터리 하위에 접근할 수 있다.) |
| 파일명이 asdf라면, <code>도메인/static/asdf</code> 형태로 해당 파일에 접근할 수 있다. | | 파일명이 asdf라면, <code>도메인/static/asdf</code> 형태로 해당 파일에 접근할 수 있다. |
| | | |
| <code><img src="{% static 'photo/asdf.jpg' %}"></code> 형태로 작성하면 경로는 <code>도메인/static/photo/asdf.jpg</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 | | |STATICFILES_DIRS |
30번째 줄: |
32번째 줄: |
| |- | | |- |
| |STATIC_ROOT | | |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 %} |
43번째 줄: |
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. 장고 스테틱]] | | [[분류:4. 장고 스테틱]] |