이 사이트의 인강을 정리한 글.
Intro
- MVC & MTV(Django) (거의 동일)
Model : data. database에 저장된 data 그걸 다룸
View : model에 있는 data를 적절하게 보여줌
Control/Template : 사용자의 입력이나 이벤트에 반응하여 Model와 View를 바꿈

서버의 동작 방식
유저가 Web browser에서 이벤트를 발생.(ex : URL 클릭)
-> URL Dispatcher 에서 URL 분석. 적합한 View로 보내준다. 필요한 data는 Model에 요청.
-> Model에서 data를 가져와 View에서 보여줌. 이 때 보여줄 View를 Template로 만들어 보내주면 다시 Web Browser에서 그 결과를 보여준다. template : Html 파일 (control과 관련된 스크립트 파일)
이 때 View에서 사용자 요청(Response)에 따라 database에 입력을 할지 혹은 database의 정보를 가져올지 정한다.
Response의 종류로는 POST, GET 등이 있다.
POST : 사용자에게 데이터를 새로 입력받는다.
GET : 사용자에게 데이터를 제공한다.
장고의 장점은 SQL 쿼리를 작성할 필요 없다. 그것을 관리하는 Manager가 있고 그것을 가져와 Model에서 가공하면 됨.
의미있는 기능을 app으로 나누어 파일을 만듬 (나중에 다시 app을 사용할 수 있도록)
Django 프로젝트 생성 및 기본 명령어
장고 설치 : pip install django
프로젝트 생성 : django-admin startproject 프로젝트명
앱 생성 : ./manage.py startapp 앱명
-> 앱 생성시 settings.py 에 installed_apps 에 이름을 등록해줘야 한다. 이름 끝에 , 꼭 붙이기.
데이터베이스 생성 : ./manage.py migrate -> db가 생김
superuser 생성 : ./manage.py createsuperuser
계정을 만들 수 있음 superuser로는 User나 데이터베이스 관리를 할 수 있다.
서버 실행 : ./manage.py runserver 포트숫자 (종료 : Ctrl+C) 포트 번호가 없을 시 기본 8000으로 실행된다.
* window에서는 ./manage.py 가 아니라 python manage.py 를 사용한다.
Django의 주요 파일의 역할
settings.py : 프로젝트 환경 설정 파일 ex) 디버그 모드 databases 연결 설정, app 목록 등
urls.py : 외부에서 유저가 접근하는 URL 모음 그 URL엔 각각의 page가 붙는다.
admin.py : 관리자용 파일
manage.py : 프로젝트 관리 명령어
주요 명령어 :

model.py : model에 필요한 class를 생성 (ex 게시물) 다양한 field에 따라 사용할 수 있음.
./manage.py migrate : app 에 있는 모델에 대한 database table이 적용된다.
- 이후 웹페이지 작성 작업
사용자가 어느 웹페이지에서 Request를 보낼 때 그 Request를 인자로 받는 함수를 만든다.
인자로 들어온 것을 render 해서 write.html 로 보내기. (template 안에 만들면 됨) (or return 한다. return은 아마 Response 값만 나타낼 때 쓸 것 같고 template을 쓰려면 아마 render를 사용해야 할듯? 그 html로 해당 페이지를 꾸밀 수 있겠지)
write.html 작성. html 작성은 maru20564.tistory.com/3 참고.
model을 이용해 form을 만들어 입력 받을 때 모델에 있는 field를 인자로 전달하여 새로운 db data를 쉽게 만들 수 있도록 할 수 있다. view에 있는 write 함수에 form 객체를 생성해서 write.html에 form을 인자로 전달하면 더 쉽게 만들 수 있다. {{ form.as_p }}
게시글을 작성할 때 저장하기 버튼을 누르면 POST가 발생한다. POST가 발생할 때 form을 save 해서 데이터베이스에 넘긴다. 이 때 csrf_token을 전달하도록 html 파일에 코드 추가.
저장한 글을 만드는 list도 마찬가지로 url 생성 view 생성 html 생성
이 때 데이터베이스에서 가져와야하니까 article 에 있는 데이터를 전부 가져올 수 있다.
view에서 작성했던 글을 볼 수 있도록 한다. view는 작성된 글에 따라 숫자가 늘어나게 url로 만든다.
그리고 이 url들을 각 list에서 연결 가능하도록 링크를 달아준다.
'서버 공부' 카테고리의 다른 글
| 자바 스프링으로 웹 게시판 만들기(2) (0) | 2021.05.04 |
|---|---|
| 자바 스프링으로 웹 게시판 만들기(1) (0) | 2021.05.03 |
| 장고 서버 외부 접속 허용하기 (포트 포워딩) (0) | 2021.05.02 |
| MySQL Database 와 Django(장고) 서버 연결 방법, 기본 MySQL 명령어 (0) | 2021.04.07 |
| HTML & Internet (0) | 2021.04.07 |
댓글