장고:웹서비스
편집하기
Sam
(
토론
|
기여
)
님의 2021년 3월 25일 (목) 22:29 판
(
→collectstatic
)
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
둘러보기로 이동
검색으로 이동
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{장고}} ==개요== 페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다. 장고 runserver로 배포해선 안된다. 장고는 웹 프레임워크로, 웹서버의 역할을 하진 못한다. 보안이나 퍼포먼스에 대한 검증을 거치지 않았기에 공식홈페이지에서도 runserver를 사용하지 않길 권장한다. ==기능== ===포트번호 바꾸기=== <code>python manage.py runserver 포트번호</code>를 통해 서비스할 포트번호를 바꿀 수 있다. ==static 설정[이부분...위의 static과 합쳐도 괜찮지 않을까?]== static이 따로 떨어지게 된 데엔 웹의 발전형태와 관련이 있다. 웹이 복잡해지며 동적 콘텐츠는 어플리케이션에서 다루고, 정적 콘텐츠는 서버에서 다루게 되었다. 서버에서 static 컨텐츠와 dynamic 컨텐츠를 받는 부분이 달라, static 컨텐츠에 대한 설정을 해주어야 한다. gunicorn과 django는 dynamic 컨텐츠를 서비스하기 위한 물건이고, static 컨텐츠는 서버에서 다루어준다. ===setiings.py에 추가=== <syntaxhighlight lang="python"> STATIC_URL = '/static/' #STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), ] # 앱의 static이 아니라 따로 전체 ststic을 지정할 때 사용한다. STATIC_ROOT = os.path.join(BASE_DIR, 'static') </syntaxhighlight> {| class="wikitable" !변수 !기능 |- |STATIC_URL |참조 URL을 어떻게 쓸 것인가. 파일명이 asdf라면, <code>도메인/static/asdf</code> 형태로 해당 파일에 접근할 수 있다. <code><img src="{% static 'photo/asdf.jpg' %}"></code> 형태로 작성하면 경로는 /static/photo/asdf.jpg 로 변경된다. |- |STATICFILES_DIRS |[DEBUG모드에선 이걸 참조하는듯] 개별 앱 외에 전체 static을 저장하는 경로를 지정한다. |- |STATIC_ROOT |앱별로 흩어진 static파일을 모으기 위한 경로.(웹서버에서 사용하기 위해서.) STATICFILES_DIRS과 겹치면 안된다. STATICFILES_DIRS의 모든 경로들을 복사한다. collectstatic 명령을 쓰면 여기에 모인다. 개발자가 지정하지 않은, 장고에서 지원하는 static파일도 이곳에 모인다. (깃에서도 이 디렉터리 빼주는 게 맞지 않을까?) |} ===collectstatic=== 프로젝트에서 사용하는 모든 정적 파일들을 모아 하나의 경로에 모아준다.(서버에서 참고할 곳을 지정하여 사용할 수 있게끔) 일반적으로 서버에선 static이라는 키워드로 하나의 디렉터리를 지정하는데, 이들을 한데 모아두어야 서버에서 참조해 활용할 수 있다. python manage.py collectstatic 그런데, 개발 settings에서는 STATICFILES_DIRS를 사용해야 하고, 운영 settings에서는 STATIC_ROOT를 사용해야 한다. 이처럼 세팅을 분리한 경우엔 <code>python manage.py collectstatic --settings=config.service_settings</code> 형태로 개발용 세팅으로 실행해준다. CommandError: Collecting static files cancelled. 에러가 나면 python manage.py collectstatic --noinput ==배포서비스== {| class="wikitable" |+ !서비스 !개요 !특장점 !한계 |- |Pythonanywhere |파이썬 온라인 서버라 할까. 파이썬 클라우드. 기업에서 제공하는 컴퓨터를 이용하는 서비스라 보면 되겠다. 리눅스 서버. |간단하다. | |- |heroku |다양한 언어와 프레임워크를 지원하는 클라우드 서비스. | | |- |aws |아마존. | | |- |gcp |구글. | | |- |azure |마이크로소프트. | | |} <br />
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:장고
(
원본 보기
) (보호됨)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보