Django 개념정리
in Programming on Web
웹 프레임워크 Django 개념정리
목차
- MVC, MFV
- Django 개념
- Project와 App
- settings.py
- manage.py
1. MVC, MTV
MVC (= MTV in Django) :
= Model View Control (= Model Template View in Django)
MVC 이전에는 다양한 코드가 한 곳에 들어가 있었기 때문에, 하나를 잘못 건드리면 시스템 전체가 문제가 됐었음.
-> 이후 코드를
Model
View
Control
로 분류.
2. Django 개념
- User’s Browser 의 다양한 액션 (ex. url 클릭, 데이터 입력 등 )들을 Url Dispatcher을 거쳐서 적합한 View로 연결이 됨.
- 초록색 부분이 우리가 실제로 다루게 되는 python 파일들이다.
- wigs.py : 웹 서버와 장고를 적절히 결합시켜 줌
- views.py : DB에서 받아온 데이터를 적절히 가공시키는 것. 대부분의 코드를 여기서 작성하게 됨
- models.py : 변수를 다루게 되면 manager가 DB sql 과 연결시켜줌.
- example.html : script 파일
- forms.py : 게시물 작성 폼 등
3. Project와 App
하나의 프로젝트 내에 다양한 앱이 존재.
프로젝트는 장고 Admin을 통해 쉽게 생성 가능함 (Admin : 장고 관리자 페이지)
~~~ django-admin startproject 프로젝트이름 ~~~ django-admin startproject 프로젝트이름 ~~~
App 생성
~~~ ./managy.py startup 앱이름 ~~~ ./managy.py startup 앱이름 ~~~ ~~~
4. Setting.py
전체적인 프로젝트와 관련된 다양한 설정
debug
: 에러들을 확인 가능. default=True. (실제 배포시엔 False)installed_apps
: pip로 설치한 app들. 다양하게 설치 가능.midedleware_classes
: request와 reponse 사이에서 다양한 기능들을 레이어함.templates
: 템플릿 관련 설정과 실제뷰 (html과 다양한 변수들)databases
: DB에 관한 설정static_url
: html과 관련된 정적 파일들을 다루는 파일
5. Manage.py
프로젝트를 관리하기 위한 다양한 명령어 제공
startapp
: 앱 생성runserver
: 서버실행createsuperuser
: 관리자 생성makemigrations app
: app의 모델 변경 사항 체크migrate
: 변경사항 DB에 반영shell
: 쉘을 통해 데이터 확인collect static - static
: 파일을 한 곳에 모음.
참고
8000포트 연결 - 외부 접근 불가능한 서버 연결
8080포트 연결 - 외부 접근 가능한 서버 연결