728x90

Programming/Django 8

Django

모델링 코드들을 데이터베이스 선언에 들어간 엔진에 맞는 형태로 코드를 정의 해준다. 모델이란걸 수정해주면 계속 makemigrations를 내용을 계속 적층 해준다. MVC : Model, View, Controller model = 데이터 view = html,css 사용자가 보는 화면 controller = model을 다루는 로직, 규칙 model controller view MTV : Model, Template, View MVC : Model, View, Controller model = models.py template = templates/*.html view = views.py 1. abc.com Get 요청이 Client로부터 Server에 요청이 들어옴 2. Sever에서 요청을 받음 ..

Programming/Django 2022.05.31

PythonWeb/Django - 설문조사 서비스 만들기 / 3

1. 투표 목록 2. 투표 상세 3. 투표 기능 4. 투표 결과 위의 네가지 뷰를 만들 것이다. - 각각의 뷰는 아직 특별한 기능은 없이 값만 출력할 것이다. 이 뷰가 동작하도록 URL을 연결해 보겠다. - 추가한 3개의 뷰를 위한 URL을 연결했다. index뷰와 다르게 특이한 모양을 가진다. 각 URL에 있는 는 변수를 의미한다. 이 부분에 해당하는 값을 뷰에 인자로 전달한다. - 실제 동작되는 뷰를 만들기 위해 index View부터 수정한다. - loader를 이용해 index.html를 불러오고 여기에 미리 만들어 둔 투표 목록을 context라는 변수를 이용해 전달한다. - render라는 단축 함수를 이용하면 간단하고 편리하다. - render 메서드는 request와 템플릿 이름 그리고 사..

Programming/Django 2022.04.19

Pythonweb/Django - 설문조사 서비스 만들기 / 2

- 데이터베이스 만들기 - django.db.backends.sqlite3, django.db.backends.postgresql, django.db.backends.mysql, django.db.backends.oracle 이렇게 4가지 사용할 수 있다. - 데이터베이스를 만들고 초기화 한다. - 모델 만들기 장고에서 모델은 데이터베이스의 구조도이다. 데이터베이스에 어떤 테이블을 만들고 어떤 컬럼을 갖게 할 것인지 결정한다. 또 해당 컬럼의 제약 조건까지도 모델에서 결정한다. 이 모델은 보통 models.py에 작성하고 클래스 형태다. 두개의 모델을 만들 것 이다. - 장고의 모델은 [models.Model]을 상속 받는다. 이 부모 클래스가 실제로 데이터베이스와 ORM을 이용해 동작하는 기능들을 가지..

Programming/Django 2022.04.12

Pythonweb/Django - 설문조사 서비스 만들기 / 1

- 이번 포스팅은 Pythonweb/Django를 이용하여 설문조사 서비스를 만들어 볼 것이다. - 프로젝트 만들기 - 장고를 설치한다. - 장고 프로젝트를 만들어준다. - 웹 서버 시작하기 - 기본 포트번호는 8000 포트이고, 포트를 변경하고 싶다면 포트 번호를 인수로 전달한다. python manage.py 0:8000으로도 접속이 가능한데 0은 0.0.0.0의 약어이고, 이 형태로 동작 시킬 때는 settings.py에 있는 ALLOWED_HOSTS를 설정해야 한다. - 설문조사 앱 만들기 - polls 앱을 생성한다. - 첫번째 뷰 만들기 - views.py에 뷰를 만든다. 뷰를 만들었으면 뷰를 호출하기 위한 URL이 있어야 한다 . URL 연결을 위해 polls 폴더에 urls.py 파일을 만..

Programming/Django 2022.04.10

Pythonweb/Django - 디자인 패턴과 MTV, MVC

- 이번 포스팅은 디자인 패턴과 MTV에 대해 알아볼 것이다. - 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴이다. 협업해서 개발할 때 다른 사람이 작성한 코드, 기존에 존재하는 코드를 이해하는 것은 어렵다. 디자인 패턴은 의사소통 수단의 일종으로서 이런 문제를 해결해준다. 장고에서이는 이를 MTV라고 부른다. - MVC와 MTV - 웹 프로그래밍에서 자주 사용되는 디자인 패턴은 MVC이다. Model-View-Controller의 약어다. - Model : DB의 구조를 결정한다. 대부분의 경우 테이블을 작성할 때 사용하는데 테이블의 이름, 각 열의 이름과 타입 등을 설계할 때 사용한다. - View : 사용자에게 보여지는 UI 부분이다. HTML 코드 등 실질..

Programming/Django 2022.04.10

Pythonweb/Django - 장고 기본 명령어

- 장고 기본 명령들 - django-admin startproject : 장고 프로젝트를 만드는 명령, 웹 서비스를 만들 때마다 한번 실행한다. 이후 명령들은 django-admin을 이용해 실행 할 수 있지만 보통 python manage.py를 통해 실행한다. - startapp : 프로젝트에 기능 단위인 앱을 새로 만들 때 사용한다. - makemigrations : 어플리케이션에 변경 사항을 추적해 DB에 적용할 내용을 정리한다. 보통 앱 안에 있는 모델(model)의 변경 사항이 있을 때 주로 사용한다. - sqlmigrate : 실행할 SQL 명령문을 출력한다. 어떤 명령문을 실행할지 확인할 때 사용하며, 튜닝이 안 된 쿼리나 슬로우(slow) 쿼리 여부를 확인할 수 있다. - migrate..

Programming/Django 2022.04.05

PythonWeb/Django - 프로젝트 생성

- 프로젝트를 생성한다. - 터미널에 명령어를 입력하여 장고를 설치한다. - '현재 폴더에 파일들을 만들겠다'라는 의미다. 장고 프로젝트를 만들면 config 폴더가 생기고 manage.py라는 파일이 만들어 진다. - 장고로 프로젝트를 생성했기 때문에 당장이라도 웹 사이트를 사용할 수 있는 상태다. 하지만 DB를 생성해야 한다. 위의 명령어를 입력해 DB를 초기화 하면서 DB 파일을 생성한다. 명령어를 입력하게 되면 다음과 같이 db.sqlite3가 생성된 것을 알 수 있다. - config 폴더 : 프로젝트 설정 파일과 웹 서비스 실행을 위한 파일이 들어 있다. - __init__.py : 파이썬 2.x대 버전과의 호환을 위해 만들어진 비어있는 파일이다. 3.x대에서는 불필요하지만 계속 생성된다. 없..

Programming/Django 2022.04.04
728x90