Django의 정적 파일 처리 – 개발 단계
개발 단계
Django에서 볼 때 정적 파일의 처리는 다른 프로그램에 맡겨야 한다.그러나 신속한 개발을 편리하게 하기 위해 Django도 개발 단계에서 정적 파일을 임시로 교체하는 도구를 제공했다.
한편, Django의 공식 문서에서'quick and dirty','grossly inefficient','insecure'등 단어로 실제 생산 환경에서 이 도구를 사용하지 말라고 여러 차례 강조했다.다른 한편, Django는 DEBUG 모드에서만 이 도구들이 작동할 수 있도록 제한한다.그래서 보조 도구로 사용하면 되고 생산 환경에서 사용하지 마세요.
또한 전편의 도구와 마찬가지로 여기에 소개된 도구도staticfiles 응용 프로그램에서 먼저 INSTALLEDAPPS에서 django. 열기contrib.staticfiles
두 가지 상황으로 나뉘어 말하자면
4
4
4
1
2
3
4
5
from
django.contrib.staticfiles.urls
import
staticfiles_urlpatterns
# ... the rest of your URLconf goes here ...
urlpatterns
+
=
staticfiles_urlpatterns()
자동으로 STATICURL이 적절한 STATICFILES에 일치합니다.DIRS, 응용 프로그램 디렉토리의/static 폴더입니다.(STATIC ROOT 아님)
1
2
3
4
5
6
7
8
9
10
from
django.conf
import
settings
# ... the rest of your URLconf goes here ...
if
settings.DEBUG:
urlpatterns
+
=
patterns('',
url(r
'^media/(?P<path>.*)$'
,
'django.views.static.serve'
, {
'document_root'
: settings.MEDIA_ROOT,
}),
)
사실 이전 메서드와 다른 점은 URL과 로컬 경로를 각각 수동으로 지정해야 한다는 점입니다.어떤 문장의 소개에는'django'를 쓰지 않는다.views.static.서버contrib.staticfiles.views.serve', 쓰는 방법은 약간 다르지만, 서로 엉키지 마라. 둘은 기본적으로 같다
4
1
2
3
4
5
6
from
django.conf
import
settings
from
django.conf.urls.static
import
static
urlpatterns
=
patterns('',
# ... the rest of your URLconf goes here ...
)
+
static(settings.MEDIA_URL, document_root
=
settings.MEDIA_ROOT)
이렇게 하면 훨씬 간결할 수 있다.
마지막으로 두 가지 사용 전제는 주의해야 한다. 1) DEBUG 모드에서 이 도구를 사용해야 한다.2)STATIC_URL 또는 MEDIAURL은 로컬 경로여야 하며 공백일 수도 없고 완전한 URL 형식일 수도 없습니다(예:http://static.example.com/);
이런 용법들은 모두 뚜렷한 우열이 없으니 하나를 고르면 된다.분명히 많은 불필요한 기능들이 역사가 남긴 산물이다.
여기까지 썼는데 또 연습 단계에서 언급한 것이 생각난다.Django는 처음에는 이렇게 복잡하지 않았을 수도 있고 많은 기능이 누추할 수도 있지만 이해하기 쉽다.지역사회가 발전함에 따라 점점 더 많은 것들이 들어와 뒤로 호환되기 위해 많은 비슷한 기능이 보존되었다.초기 사용자에게 이 프레임워크는 갈수록 유용해지지만 초보자에게는 입문이 점점 어려워지고 복잡하고 유사한 기능은 시선을 방해할 수밖에 없다.개원 프레임워크도 제품이므로 새로운 사용자와 오래된 사용자 사이의 균형을 잘 잡아야 한다.
Django의 정적 파일 처리에 관한 것이 바로 이런 내용입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.