본문 바로가기

Web Programming/Django

App 재사용(패키징)

# 이론

하나의 앱은 하나의 기능만을 설계해서 사용!

그렇다면 여러 웹 사이트를 만들면서 반복해서 사용하는 기능(앱)이 존재한다!


재사용 때 마다 처음부터 끝까지 코딩하는 것이 번거로울 수 있다

-> 패키징을 통해 묶어둔다.


다른 프로젝트에서 원하는 앱을 재사용할 수 있다

재사용에서 핵심은 앱을 묶기+풀기, 이렇게 두 가지로 나뉜다!


몇 개의 파일을 기록해두고 내용을 복붙해두면 된다.

4개 - 기능명세서, 라이센스, 설치 방법 과정, 파이썬파일 아닌 파일들

Readme.rst, LICENSE, setup.py, MANIFEST.in


# 실습


# 폴더 생성(django-app이름)

login 앱을 패키징하고 싶으면 프로젝트 내부에 새로운 폴더 생성

해당 폴더에 기존 패키징하고 싶은 앱의 복사가 아닌 이동 수행!


# 파일 생성

1) README.rst - 장고 공식문서 참조 후 내용 채우기(한글 사용x)


2) LICENSE - 라이센스 자체가 굉장히 중요한 내용(copyright 내용copy)


3) setup.py - 장고 공식문서 참조후 내용 채우기

setup() 안에 name과 description 변경!


4) MANIFEST.in - 파이썬파일이 아닌 내용 채우기


1
2
3
4
5
include LICENSE
include README.rst
recursive-include App/templates *
recursive-include App/migrations *
recursive-include App/static * 
cs


# 패키징하기

해당 폴더로 이동해서


1
$ python setup.py sdist
cs


후에 압축파일이 하나 생김!


# 패키지 사용하기


1
$ pip instasll dist/패키지 압축 파일이름
cs