장고:웹서비스

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2021년 1월 1일 (금) 20:33 판 (→‎static 설정)
둘러보기로 이동 검색으로 이동

장고! 웹 프레임워크! 틀:장고

  1. 장고:개요
  2. 장고:웹페이지설계
    1. 장고:앱
    2. 장고:url
    3. 장고:model
      1. 장고:DB
      2. 장고:모델 필드
      3. 장고:모델의 변경
    4. 장고:view
      1. 장고:클래스형 뷰, 제네릭 뷰
      2. 장고:view 각종 기능
    5. 장고:template
    6. 장고:static. 정적파일 사용하기
      1. 장고:CSS 사용하기
      2. 장고:JS 사용하기
      3. 장고:글꼴 사용
      4. 장고:부트스트랩
    7. 장고:media. 미디어 파일 사용하기
  3. 장고:관리자페이지
  4. 장고:settings.py
  5. 장고:기능구현
    1. 장고:회원관리
    2. 장고:유저
    3. 장고:커스텀 유저
    4. 장고:소셜로그인
    5. 장고:입력받기
    6. 장고:저장된 내용 활용하기
    7. 장고:변수 내보내기
    8. 장고:글쓰기
    9. 장고:페이징(페이지나누기)
    10. 장고:답변쓰기(댓글쓰기)
    11. 장고:추천,즐겨찾기
    12. 장고:새글(최신글) 나타내기
    13. 장고:썸머노트 설치
    14. 장고:네비게이션 바 만들기
    15. 장고:검색기능
    16. 장고:카테고리 만들기
    17. 장고:사진 올리기
    18. 장고:파일 업로드
    19. 장고:이메일app 만들기
    20. 장고:매직 그리드
  6. 장고:웹서비스
    1. 장고:Git
    2. 장고:리눅스에 올리기
    3. 장고:우분투에 올리기(nginx 사용)
    4. 장고:도커로 올리기
  7. 장고:팁

개요

페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다.

기능

포트번호 바꾸기

python manage.py runserver 포트번호를 통해 서비스할 포트번호를 바꿀 수 있다.

static 설정

setiings.py에 추가

STATIC_URL = '/static/'
#STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), ]  # 앱의 static이 아니라 따로 전체 ststic을 지정할 때 사용한다.
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
변수 기능
STATIC_URL 참조 URL을 어떻게 쓸 것인가.

파일명이 asdf라면, 도메인/static/asdf 형태로 해당 파일에 접근할 수 있다.

<img src="{% static 'photo/asdf.jpg' %}"> 형태로 작성하면 경로는 /static/photo/asdf.jpg 로 변경된다.

STATICFILES_DIRS [DEBUG모드에선 이걸 참조하는듯] 개별 앱 외에 전체 static을 저장하는 경로를 지정한다.
STATIC_ROOT 앱별로 흩어진 static파일을 모으기 위한 경로. STATICFILES_DIRS과 겹치면 안된다.

STATICFILES_DIRS의 모든 경로들을 복사한다.

collectstatic 명령을 쓰면 여기에 모인다.

collectstatic

프로젝트에서 사용하는 모든 정적 파일들을 모아 하나의 경로에 모아준다.(서버에서 참고할 곳을 지정하여 사용할 수 있게끔)

일반적으로 서버에선 static이라는 키워드로 하나의 디렉터리를 지정하는데, 이들을 한데 모아두어야 서버에서 참조해 활용할 수 있다.

python manage.py collectstatic

그런데, 개발 settings에서는 STATICFILES_DIRS를 사용해야 하고, 운영 settings에서는 STATIC_ROOT를 사용해야 한다. 이처럼 세팅을 분리한 경우엔

python manage.py collectstatic --settings=config.service_settings 형태로 개발용 세팅으로 실행해준다.

배포서비스

서비스 개요 특장점 한계
Pythonanywhere 파이썬 온라인 서버라 할까. 파이썬 클라우드. 기업에서 제공하는 컴퓨터를 이용하는 서비스라 보면 되겠다.

리눅스 서버.

간단하다.
heroku 다양한 언어와 프레임워크를 지원하는 클라우드 서비스.
aws 아마존.
gcp 구글.
azure 마이크로소프트.