SGCSRelease / legacy-awesome-title

릴리즈의, 릴리즈에 의한, 릴리즈를 위한 별명/업적 관리 사비스
http://title.reluv.me
9 stars 2 forks source link

파이선 파일들이 널려있으니까 사이트에 필요한 것만 패키지로 묶읍시다! #93

Closed minhoryang closed 8 years ago

minhoryang commented 8 years ago

패키지로 묶는다는 것은?

서버를 구현하는데 필요한 파이썬 파일들과 폴더들을 AwesomeTitleServer라는 폴더로 몰아서,

from AwesomeTitleServer import db  # Outside
from . import db  # Inside
from .db import User  # Inside

로 표현할 수 있게 해주는 것입니다. 서버를 구현하는 용도가 아니라, 돌리는데 필요한 파일들은, 그자리 그대로 두거나, datas/로 옮겼어요!

패키지 폴더는 파이썬 파일이 들어가 있는 폴더에 init.py라는 파일을 만들어주면 되는데요. (Import를 폴더째로 할 수 있게 됨) 우리는 기존의 app.pyAwesomeTitleServer/__init__.py로 옮김으로서 패키지를 만들었습니다.

이제 이렇게 AwesomeTitle을 켤 수 있어요. (새 app.py 참고!)

from AwesometitleServer import app
app.run(debug=True, host="0.0.0.0", port=5000)

참고 패키지 - 점프 투 파이썬 프로젝트 구성하기 - 히치하이커

minhoryang commented 8 years ago

action_required__package 브랜치 29d071f283c47abe00ee73f90532b3b019e49470 에 구현했어요! 머지할때 닫을게요

minhoryang commented 8 years ago

기존 구조

.
├──app.py
├──...
├──README.md
├──...
├──db.py
├──user.py
├──...
└──뒤죽박죽ㅋ

바뀐 디렉토리 구조

.
├── AwesomeTitleServer/   (서버를 구현하는 코드들)
│   ├── __init__.py
│   ├── config.py
│   ├── db.py
│   ├── nickname.py
│   ├── photo.py
│   ├── static
│   ├── templates
│   ├── url.py
│   └── user.py
├── README.md
├── RUN.sh        (AwesomeTitle를 Release 모드로 키는 파이썬 실행파일)
├── app.py        (AwesomeTitle를 Debug 모드로 키는 파이썬 실행파일)
├── confs/
│   ├── __gunicorn__.py    (Release 모드 설정)
│   └── config.py.tmpl     (AwesomeTitle의 설정 템플릿)
├── datas/
│   ├── DOWNLOADED    (업로드된 파일 폴더)
│   └── SQLite.db     ((선택) SQLite DB를 사용할 경우, 파일이 생성되는 위치)
├── manage.py         (AwesomeTitle을 관리하기 위한 파이썬 실행파일)
├── migrations/
│   └── versions      (AwesomeTitie의 DB 마이그레이션 폴더)
├── requirements.txt  (AwesomeTitle에서 사용하는 Python 패키지 목록)
└── tests/            (AwesomeTitle 테스트용 패키지)

by tree -L 2

minhoryang commented 8 years ago

위키에도 올렸어요!

minhoryang commented 8 years ago

합쳤습니다!