상세 컨텐츠

본문 제목

장고(파이썬)프로젝트_1

파이썬·장고·루비·알고리즘

by 김일국 2019. 5. 24. 12:21

본문

### 2023.03.13(월) 장고 프로젝트는 pythonAnywhere 클라우드에서 지웠다.

그래서, 더이상 장고 프로젝트 결과는 볼 수 없다. 아래 기존 소스를 보관해 두었다.

https://gitlab.com/ilguk/KIK_profile (기존 장고 프로젝트 제거된 소스보관 위치)

- 위 장고 프로젝트 대신 파이썬 대시보드 웹 앱을 작업한 결과를 볼수 있다. https://kimilguk.pythonanywhere.com/

 

콜백 Dash 연습 웹 앱

콜백 Dash 연습 웹 앱

kimilguk.pythonanywhere.com

### 장고(파이썬) 프레임워크 기반 웹사이트 만들기

- CRUD(첨부파일기능포함) 및 관리자단 사용.

- 기초기술 : https://docs.djangoproject.com/ko/3.2/intro/tutorial01/

 

### 20210429 로컬 윈도우PC에서 작업하기-기존 깃허브에서 프로젝트 연동시

- 깃 허브에 있는 소스 클론

- SW 설치 : https://www.python.org/downloads/ (파이썬), VS code (IDE, 파이썬확장팩 설치)

- VS code 에서 workspace폴더 만들고 열기한다.

- 터미널을 PS(파워쉘)에서 cmd(명령프롬프트)로 변경 정보: m.blog.naver.com/wideeyed/221837368919

- [강조]: python을 환경변수에 추가하면 python명령어 없이도 py파일을 실행할 수 있다(즉, 아래 명령중 python -m 은 필요없음)

- python -m pip install --upgrade pip (파이선 인스톨 패키지버전을 최신으로 변경)

- pip install virtualenv virtualenvwrapper-win (가상환경모듈 설치)

- mkvirtualenv human (윈도우에 가상환경 만들기)

- workon (가상개발환경 이름 확인)

- workon human (가상개발환경 선택)

- python -m pip install --upgrade pip (파이선 인스톨 패키지버전을 최신으로 변경)

- [강조]: 가상환경 안에서 장고를 설치하고 프로젝트를 추가하고, 앱을 생성합니다.

- python -m pip install django (필요시설치)

- python -m pip install Pillow (필요시설치)

- manage.py migrate (마이그레이션시 에러 처리- 아래2건)

- 자동증가필드 에러: Auto-created primary key used when not defining a primary key type

   id = models.AutoField(primary_key=True) 추가 후 OK

- 들여쓰기 에러: 스페이스와 탭키가 혼합되어 있으면 TabError: inconsistent use of tabs and spaces in indentation

  한가지로 통일 후 OK.

- 사용자확인시1: python namage.py shell 관련정보: kitle.xyz/post/58/

- 사용자확인시2: python manage.py createsuperuser (사용자가 없다면 추가)

- 사용자확인시3: python manage.py changepassword admin (관리자 암호변경)

- python manage.py runserver (서버실행)

 

### 신규프로젝트 생성시 누락부분 추가

- Django-kimilguk 폴더를 프로젝트 환경으로 만들어야 settings.py 파일이 만들어진다.(아래)

  (가상환경) ~/Django-kimilguk django-admin startproject mysite (mysite라는 폴더와 함께 장고 프로젝트 환경 구축됨.settings.py 파일생성)

- 최상위 프로젝트명은 내부 프로젝트명과 헷갈릴수 있기 때문에 변경한다.

- 앱생성 : 프로젝트에 kik_profile 이라는 앱을 생성 합니다. 

  (가상환경) ~/Django-kimilguk python manage.py startapp kik_profile

==========================================================

드디어 벼르고 벼르던 파이썬 프로토타입 프로젝트를 시작 하게 되었습니다.

아직 홈페이지 업계에는 파이썬기반 홈페이지가 없지만,

클라우드 기반 사이트(최근에 확인한 도커기반 Ansible AWX GUI프로비저닝 툴이나 작년에 확인한 파스타 PaaS 사용자/운영자 포털사이트 등) 에서 Python 기반으로 사이트를 RESTapi방식으로 제작한 것을 확인 할 수 있었습니다.

저도 대세를 따르기 위해서, 늦었지만, Django 장고로 파이썬을 익히려고 합니다.

Ps. Pythonanywhere.com(500M 용량무료) 에서 개발과 배포, 소스버전관리(형상관리)는 Gitlab.com(프라이빗 10명까지 무료) 사용.

#개발 환경:

 - 클라우드: pythonanywhere.com 에서 무료계정(hdd:512M, 3개월에 1번씩 버튼클릭필요)을 발급받아서 온라인 IDE환경에서 개발.(아래)

 

- pythonanywhere 콘솔 $bash 에서 작업순서(아래)

* grep . /etc/*-release (현재 클라우드 시스템 환경 확인)

* git config --global user.name "kimilguk" (깃 글로벌 설정)

* git config --global user.email "kimilguk@yahoo.co.kr" (깃 글로벌 설정)

* git config --list (깃 설정 확인)

* git clone https://gitlab.com/ilguk/KIK_profile.git (프로젝트 GitLab 에서 가져오기)

* cd KIK_profile (프로젝트경로 이동)

* virtualenv --python=python3.6 myvenv (파이썬3.6버전으로 앱 가상환경 만듬)

* 03:23 ~/KIK_profile (master) source myvenv/bin/activate (앱 가상환경설정 로드)

* (myvenv) 03:24 ~/KIK_profile (master) pip install django (장고 재설치)

* python manage.py migrate (장고용 데이터베이스 생성)

* 위 명령어 실행시 패키지 에러 나서 pip install Pillow 설치

* 위 명령어 실행시 환경설정에러나서 static_root 경로 변경(/home/kimilguk/KIK_profile/mysite/settings.py)

* python manage.py createsuperuser ( 관리자페이지 및 admin 계정 아이디/암호 생성 )

* 장고 관리자 http://kimilguk.pythonanywhere.com/admin

- 관리자 암호를 잊어버렸을때 처리방법: kitle.xyz/post/58/

-- Open 프로젝트를 Git에서 가져왔기 때문에 생략부분 시작 --

* KIK_profile 폴더를 프로젝트 환경으로 만들어야 settings.py 파일이 만들어진다.(아래)

*  (myvenv) 03:24 ~/KIK_profile django-admin startproject mysite (mysite라는 폴더와 함께 장고 프로젝트 환경 구축됨.settings.py 파일생성)

-- Open 프로젝트를 Git에서 가져왔기 때문에 생략부분 끝 --

 

-- pythonanywiere의 온라인IDE에서 내용 수정 후 Gitlab에 소스 동기화

* git add *

* git commit -m "first commit"

* git push origin master (gitlab 프라이빗 아이디/암호 입력필요)

-- 다른 개발 인원이 소스를 수정할 경우 내 pythonanywhere 배쉬콘솔에서 소스 동기화 하기

* git pull ( gitlab 프라이빗 아이디/암호 입력필요 )

git add *

 - CI/DI(형상관리,배포환경) : GitLab.com 에서 프라이빗로 회사내부인원만 소스 관리가 가능하게 구성.

 * Django 오픈소스를 내부개발전용으로 임포트하기(아래)

 

 * 깃랩에서 Django_project 생성 후 first commit 결과(아래)

 

 

Ps. 작업 내용 잠조

http://blog.naver.com/PostView.nhn?blogId=shino1025&logNo=221316423585&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

 

[Django + 웹 호스팅] PythonAnyWhere

웹 개발 관련으로 공부를 하는 사람이라면, 되는 것이야 뻔히 알지만 도메인을 부여하고 상용 웹 서버에 올...

blog.naver.com

관련글 더보기

댓글 영역