- 전체
- Python 일반
- Python 수학
- Python 그래픽
- Python 자료구조
- Python 인공지능
- Python 인터넷
- Python SAGE
- wxPython
- TkInter
- iPython
- wxPython
- pyQT
- Jython
- django
- flask
- blender python scripting
- python for minecraft
- Python 데이터 분석
- Python RPA
- cython
- PyCharm
- pySide
- kivy (python)
django [Django] 개발 Flow & 개발 환경 세팅
2023.05.01 20:51
[Django] 개발 Flow & 개발 환경 세팅

Django 초기 개발 Flow
1 실습 폴더 이동(없으면 생성)
2 가상환경 모드로 진입 --> 프로젝트 생성
- django-admin startproject (프로젝트명)
3 기본 테이블 생성(기본 앱들 설치 --> 슈퍼 관리자 아이디 생성을 위해서,
- py manage.py migrate
- 프로젝트 루트 폴더에 -> db.sqlite3 -> 데이터베이스 파일 생성
4 슈퍼유저 생성
- py manage.py createsuperuser -> 계정명/이메일/비밀번호 설정(admin, admin@localhost.com, ***)
- 기본 테이블 생성이 선행, 만약 안되면 기본 테이블 생성했는지 체크 후 다시 슈퍼유저 생성을 실시한다.
- 접속하는 방법: localhost:8000/admin
5 서버 구동 후 관리자모드에 접속
- py manage.py runserver (기본 8000번 포트로 서버 구동)
- py manage.py runserver 9000 (포트 변경)
- 서버 종료: ctrl+c
- 장고 개발 서버: 경량의 웹서버, 주로 개발 목적 및 테스트 용도로 사용되는 서버를 의미
6 App 생성 및 추가
-
py manage.py startapp info
-
생성 파일: models.py, views.py 등
-
app 안에 urls.py 파일을 별도로 생성해줘야함
-
최상위 루트 폴더에 존재하는 환경설정 파일
- settings.py (프로젝트 내 환경구성 등 여러 설정 정보를 담고 있음)
- urls.py (URL 패턴 등 패스관련 여러 정보를 담고 있음, 이는 자동으로 생성됨)
-
최상위 폴더 -> urls.py -> urlpattens -> app path 추가
- include() 함수: 다른 URLConf 패스들을 참조할 수 있도록 해주는 함수, 앱 구동 및 연결시 중요한 역할을 함
path('info/', include('info.urls')),
path('admin/', admin.site.urls),
7 템플릿 폴더 사용
프로젝트 루트 폴데어 templates 폴더를 만들어서 사용 -> 프로젝트의 settings.py(root) -> info.apps.InfoConfig 템플릿 경로 추가하여 사용
생성한 앱(App)쪽 바로 하위에서 -> templates 폴더를 만들어서 사용(App별로 템플릿 사용이 가능) -> 템플릿 파일 생성(App이름/templates/템플라파일.html 생성)
8 데이터베이스 연동
- 템플릿 파일 작성(경로 잘 확인하기 C:\Users\shin\git\django-server\myadminpage\info\templatesinfo_list.html)
- 뷰 페이지 작성(view.py)
- 테이블 생성을 위한 모델 정의(models.py)
장고 개발환경 세팅
장고(django)를 사용하기 위해서는 파이썬(python)을 설치해야한다. 아래에 링크를 통해 자신의 OS에 맞는 파이썬(python)를 다운로드 받은 후 설치합니다.
pip install virtualenv pylint autopep8
mkdir django-server
cd django-server
# 가상환경 생성
virtualenv venv
or
python -m venv myvenv
-------------------------------------
# 가상머신 활성화
source myvenv/Scripts/activate
# 장고 설치
pip install django
# 설치가 완료되었다면 아래에 명령어로 장고(django)가 잘 설치되었는지 확인
django-admin --version
# 설치된 개발 환경을 파일로 저장
pip freeze > requirements.txt
# 가상 환경(Virtual Environment) 종료
deactivate
프로젝트 생성
# 장고(django) 프로젝트를 생성
django-admin startproject myadminpage
장고(django) 명령어로 프로젝트를 생성하면 아래와 같이 폴더가 생성되는 것을 확인할 수 있다.
|-- myadminpage
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
|-- manage.py
- myadminpage/settings.py: 전반적인 설정을 가지고 있는 파일
- myadminpage/urls.py: 프로젝트의 url을 관리하는 파일
- myadminpage/wsgi.py: 웹서버(apache, nginx등)과 연동하기 위한 파일
- manage.py: 프로젝트를 관리. 예를 들어, DB의 migration 생성 및 실행, 로컬에서 다른 설치없이 웹 서버를 기동 등
Database가 잘 연동되었지 확인하기 위해 장고(django)가 기본으로 제공하는 관리화면에 필요한 기본 테이블을 아래에 명령어를 통해 생성한다.
dbshell모드로 들어가서 기본적으로 생성된 테이블을 확인할 수 있다
# 생성
py manage.py migrate
# sqlite 들어가기
py manage.py dbshell
# 기본 테이블 확인
.table
???? dbshell 설치
SQLite 설치
dbshell이 실행이 되지 않는다면 위 링크에서 파일을 다운받아 압축을 해제한 이후 내부에 있는 sqlite3.exe 파일을 프로젝트의 루트 디렉터리에 복사해준다. 이후 명령을 실행하면 sqlite가 잘 실행되는 것을 확인 할 수 있다.
???? 파이썬 장고 에러 해결 - ModuleNotFoundError: No module named 'django'
가상환경에서의 장고 서버를 켜려고 했는데, 어제까지만 해도 잘 동작하던 게 갑자기 아래와 같은 에러를 뱉어내며 실행되지 않았다.
ModuleNotFoundError: No module named 'django'
...
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
- pip 문제인 것 같았다. pip을 재설치하고 requirements를 깔아주니 장고도 정상작동하였다. 윈도우에서는 pip upgrade 하려고 하면 삭제는 잘 되었는데 재설치가 제대로 안되곤 하는 문제가 있었는데 위 명령어로는 그런 것 없이 깔끔하게 잘 설치되었다.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
이후 가상머신에 들어가 pip list로 Django가 설치되어있는지 보고 설치되어있지 않으면 설치해준다.
[출처] https://velog.io/@hsshin0602/Django-%EA%B0%9C%EB%B0%9C-Flow-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 10 |
[python, tkinter] [python/GUI] tkinter 로 GUI 만들기(기초예제, 단위 변환기 만들기)
| 졸리운_곰 | 2023.03.07 | 326 |
| 9 |
Rapyd-Tk : An open-source application development environment for Python/Tkinter
| 졸리운_곰 | 2017.01.07 | 1440 |
| 8 |
Tkinter로 하는 GUI 프로그래밍
| 졸리운_곰 | 2015.05.12 | 1628 |
| 7 | python 2.X 와 python 3.X 의 tkinter 코드 호환 유지 기법 : from Tkinter import * 에러시 | 졸리운_곰 | 2014.11.03 | 1767 |
| 6 | Tkinter Summary [Tkinter 요약] | 졸리운_곰 | 2014.10.14 | 3203 |
| 5 | An Introduction To Tkinter TkInter에 대한 소개 | 졸리운_곰 | 2014.10.14 | 2649 |
| 4 |
tkinter_nmt.pdf
| 졸리운_곰 | 2014.10.14 | 6234 |
| 3 |
tkinter.pdf
| 졸리운_곰 | 2014.10.14 | 6858 |
| 2 |
tkinter-python-intro.pdf
| 졸리운_곰 | 2014.10.14 | 7646 |
| 1 |
python-and-tkinter-programming.pdf
| 졸리운_곰 | 2014.10.14 | 7918 |


