(1) 패키징된 소스
Packing.zip
djangoOrder.zip
(2) 구동동영상
(3)웹배포(아파치상) 배포를 위하여 추가 및 변경해야 할 요소
settings.py
1) DEBUG = True를 DEBUG = False로 변
2) ALLOWED_HOSTS = []에 2) ALLOWED_HOSTS = ['localhost',127.0.0.1','내 pc IP']입력
(ip주소는 command창 -> ipconfig명령을 입력하여 확인)
3)SECRET_KEY환경변수 설정
SECRET_KEY = '*************************'의 키번호를 환경변수로 설정한다
방법
1.시작 -> 컴퓨터 -> 속성 클릭
2.고급 시스템 설정 클릭
3. 환경변수 -> 시스템변수의 새로만들기 클릭
4. 변수이름: SECRET_KEY, 변수값: settings.py에 있는 SECRET_KEY의 값을 입력한다.
4) settings.py의 SECRET_KEY = '*************************'를 주석처리 하고
SECRET_KEY = os.environ['SECRET_KEY']를 입력한다.
5) settings.py의 DATABASES부분을 아래와 같이 변경한다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db/db.sqlite3'), # 이 부분 고치고
}
}
httpd.conf
아래의 소스코드를 httpd.conf에 붙여넣는다.
경로:C:\Apache24\conf
################################################################
# 자신의 서버 환경에 맞추어야 합니다.
LoadFile "c:/users/vision/anaconda3/python37.dll"
LoadModule wsgi_module "c:/users/vision/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
LoadModule wsgi_module modules/mod_wsgi.cp37-win_amd64.pyd
WSGIPythonHome "c:/users/vision/anaconda3"
###############################################
WSGIScriptAlias / "c:\djangoOrder\wsgi.py"
WSGIPythonPath "c:\djangoOrder"
###############################################
<Directory "c:\djangoOrder">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /static/ c:/djangoOrder/static/
<Directory c:/djangoOrder/static/>
Require all granted
</Directory>
Alias /media/ c:/djangoOrder/media/
<Directory c:/djangoOrder/media/>
Require all granted
</Directory>
mod_wsgi 설치 방법
1) 먼저 Visual C++ 컴파일러를 다운로드 한다.
2) command창에 piip install mod_wsgi를 입력한다.
Admin Staticf
1) Command창에 아래의 명령어를 입력하게 되면 c:\dfangoOrder에 www_static폴더가 생성된다.
2) www_static폴더에 있는 admin폴더를 C:\djangoOrder\static폴더에 복사하여 붙여넣는다.
이작업을 해야만 배포를 했을 때 admin페이지가 정상적으로 작동한다.
(4) 아래 사항을 정리한 도큐먼트
[1] 모듈빌드, 릴리즈노트, 패키징도구활용
1. 모듈을 빌드하고 고객의 편의성을 고려한 패키징(파이썬장고의 패키징 방법제시)
C:\djangoOrder폴더에 다음과 같은 파일을 만든다.
1) LICENSE.ret
LICENSE.ret파일을 생성한 후 https://choosealicense.com/에서 오픈소스라이센스를 선택한 후
생성된 LICENSE.ret에 라이센스를 입력한다.
2) MANIFEST.in
MANIFEST.in파일을 만들고 아래소스코드를 입력한다.
include LICENSE
include README.rst
recursive-include static *
recursive-include ordersystem/templates *
3) README.md
README파일을 만들고 아래소스코드를 입력한다.
# Example Package
This is a simple example package. You can use
[Github-flavored Markdown](https://guides.github.com/features/mastering-markdown/)
to write your content.
4) setup.py
setup.py파일을 생성한 후 아래의 소스코드를 입력한다.
import os
from setuptools import find_packages,setup
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
setup(
name = 'djangoOrder',
version = '0.1',
packages = find_packages(),
include_package_data = True,
license='BSD License',
description = '웹 주문관리 시스템',
url = 'c:\djangoOrder',
author = 'your name',
author_email = 'email@gmail.com',
classifiers = [
'Environment :: Web Environment',
'Framework :: Django ',
'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OST Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
],
)
2. 릴리즈 노트 작성
3. 패키징 도구를 활용하는 방법 정리(NSIS)
준비물
1. NSIS (다운로드링크 http://nsis.sourceforge.net/Download)
2. HM NIS 에딧 (다운로드링크 http://hmne.sourceforge.net/index.php#Download)
3. nsis7z 플러그인 (다운로드링크 http://nsis.sourceforge.net/Nsis7z_plug-in)
그 외 예비 준비물7za.exe
이유: 7z 명령어를 사용할수 있게 해주는 프로그램으로, 7z.exe로도 가능하지만
7za는 7z이 안깔려있어도 작동한다는 점에서 유리하므로 이쪽의 사용을 권합니다.
사용법
1) HM NIS실행 -> 파일 -> 스크립트 작성 마법사클릭
2) 다음 -> 프로그램이름, 프로그램 버전, 프로그램 배포자, 프로그램 웹사이트 작성 후 다음 클릭 ->
변경사항이 없으면 다음 클릭 후 완료창에서 스크립트 저장 선택 후 왼료 클릭
3) 스크립트작성이 완료 되면 컴파일 후 실행하여 설치한다
[2] 설치메뉴얼작성, 사용자메뉴얼, 설치파일제작
1. 설치메뉴얼의 기본 구성에 관한 정리고찰 (교재참조)
2. 개발시스템의 사용자 메뉴얼의 구성 및 작성
3. 설치 파일 및 매뉴얼을 배포용 미디어로 제작
ㅓㅓㅏㅡ
[3] 형상관리지침 활용, 버전관리도구사용, 백업
1. 형상관리 지침 요약 정리 (등록부분)
2. 형상관리 지침 요약 정리 (도구 사용부분)
3. 버전관리도구를 활용한 백업방법 정리
GitHub를 이용한 버전 관리
1) GitHub 가입하기
아래 사이트의 정보를 참조하여 작성하였습니다.
https://jwgye.tistory.com/37
https://jwgye.tistory.com/38
GitHub사이트에 접속하여 화면에 보이는 폼에 회원가입을 한다.
회원가입이 완료되면 아래와 같은 페이지가 나온다 우리는 개인이기 때문에 Free를 선택한다.
가입할 때 입력했던 이메일 주소로 아래와 같은 가입확인 메일이 전송된다 확인버튼을 클릭하여 가입확인을 완료 한다.
2) GitHub 저장소 생성하기
GitHub회원가입이 완료 되었으면 저장소를 생성해여 한다.
오른쪽 상단 +버튼을 클릭 후 New repository를 클릭하면 아래와 같은 페이지가 나온다.
Repository name에 원하는 이름을 입력한 후 Create repository를 클릭한다
3) GitHub와 Eclipse연동하기
먼저 GitHub 주소기 있어야 한다.
eclipse -> window -> Perspective -> Open Perspective -> Other ->Git 클릭
아래 3가지 항목 중 Clone a Git repository 클릭
개인의 GitHub URI와 아이디, 패스워드를 입력한다. port는 입력하지 않아도 된다.
아래에서는 자신의 Branch(저장소)를 선택할 수 있다. 산규 저장소라면 아무것도 뜨지 않지만 보통
master브렌치가 기본으로 사용된다.
아래와 같이 저장소가 생성된것을 확인할 수 있다.
4) Eclipse에서 GitHub로 프로젝트 업로드하기
업로드할 프로젝트 오른쪽 마우스클릭 -> Team ->Share Project클릭
Git 클릭
Local 저장소를 선택하고 Finish를 클릭하면 Local의 저장소와 함께 동기화 됩니다.
실제로 Git에 업로드 된것은 아니며 Git에 올리기 전 Local의 저장소에 commit을 한 뒤에 Update기 가능하다.
프로젝트 마우스 오른쪽 클릭 -> Team -> Add to index를 클릭하면 프로젝트의 물음표가 사라지는 것을 볼 수 있다.
프로젝트 마우스 오른쪽 클릭 -> Team -> Commit을 클릭한다.
Commit을 클릭하면 아래와 같은 화면이 나온다. Commit할 때 메시지를 남길 수 있으며 Commit and Push를 클릭한다.
Commit을 클릭하면 Local 저장소의 싱크만 맞추며 Commit and Pushfmf 클릭하면 GitHub에 소스기 업로드 된다.
GitHub에 업로드 할 정보를 확인한 후 Preview를 클릭한다.
Login을 하고
Push를 클릭하면 GitHub에 업로드 된다
GitHub사이트에 로그인하여 업로드가 잘 됬는지 확인한다.