상세 컨텐츠

본문 제목

Djago(장고) + mariaDB

Frontend

by 크리두 2020. 2. 1. 15:25

본문

반응형
  1. MVC & MTV

  • Model

    • 안전하게 데이터를 저장

  • View

    • 데이터를 적절하게 유저에게 보여줌

  • Control, Template (Django)

    • 사용자의 입력과 이벤트에 반응하여 Model과 View를 업데이트

  1. Django 개념

  • WSGI (wsgi.py)

    • 웹서버와 장고를 연결해주는 역할

  • URL Resolution (urls.py)

    • 웹페이지로부터 신호가 들어오면 정규 표현식에 따라 view를 연결

  • VIEW (views.py)

    • 사용자의 이벤트를 처리하는 곳

    • 예를 들어 데이터베이스를 불러오는 명령을 내리면 DB로 명령을 내리게 하는 곳

    • MODEL로 신호를 보냄

  • MODEL (models.py)

    • DB로부터 데이터를 가지고 오는 곳

    • SQL query 없이 manager.py를 통해 DB query 가능

  • TEMPLATE

    • html 파일을 통해서 사용자에게 보여줌

    • 다양한 이벤트를 처리함

  • FORM (forms.py)

    • Model과 template를 관리, 처리

  1. Project와 App

  • 프로젝트 생성

    • $ django-admin startproject <프로젝트이름>

    • Settings.py

      • 프로젝트 전체 세팅 관련 코드

  • app 생성 (웹 어플리케이션 생성)

    • $ ./manage.py startapp <앱 이름>

    • admin.py

      • 페이지 관리자 권한자가 볼수 있는 페이지 관련된 내용

  1. setting.py

프로젝트 환경 설정 파일

  • DEBUG

    • DEBUT=True

    • 에러 등 다양한 변수들의 개발하는 단계에서 사용

    • 배포시 False로 바꿔서 디버그 정보 노출 안되게 설정

  • INSTALLED_APPS

    • Pip로 설치한 앱 또는 본인이 만든 app 추가

  • MIDDELWARE_CLASSES

    • Request와 response 사이의 주요기능 레이어

    • 인증과 보안 기능이 포함

  • TEMPLATE

    • Django template 관련 설정, 실제 뷰(html, 변수)

    • 다양한 변수, 기능을 다루는 설정파일

  • DATABASES

    • 다양 DB 엔진 연결설정

  • STATIC_URL

    • 정적 파일의 URL (css, javascript, image, etc)

  1. manage.py

  • 프로젝트 관리 명령어 모음

  • 주요 명령어

    • startapp - 앱 생성

    • runserver - 서버 실행

    • createsuperuser - 관리자 생성

    • makemigrations <앱 이름> - 앱의 모델 변경 사항 체크

    • migrate - 변경 사항을 DB에 반영

    • shell - 쉘을 통해 데이터를 확인

    • collectstatic -static 파일을 한 곳에 모음

  • ex) ./manage.py runserver 0.0.0.0:8080

 

Django + mariadb 

  1. Mariadb 설치 (설치 당시 버전 10.1.34)

  • $ sudo apt-get install mariadb-server python3-pip libmysqlclient-dev

  • $ pip3 install pymysql mysqlclient

  1. Mariaadb 설정

  • $ sudo mysql_secure_installation

  1. setting.py 수정

 

DATABASES = {

    'default': {

        # 'ENGINE': 'django.db.backends.sqlite3',

        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'webui',

        'USER': 'admin',

        'PASSWORD': 'que1234!',

        'HOST': 'localhost',

        'PORT': '',

    }

}

  • NAME - database 이름

  • USER - mysql의 user

  • HOST - 빈 칸이면 localhost가 default

  • PORT - 빈 칸이면 3306이 default

  1. Django migrate

  • $ python3 manage.py makemigrate

  • $ python3 manage.py migrate

  1. Create Table

CREATE TABLE `webui`.`user_info` (

  `user_id` BIGINT NULL AUTO_INCREMENT,

  `user_firstname` VARCHAR(45) NULL,

  `user_lasttname` VARCHAR(45) NULL,

  `user_password` VARCHAR(45) NULL,

  `user_confirmpassword` VARCHAR(45) NULL,

  PRIMARY KEY (`user_id`));

 

 

반응형

'Frontend' 카테고리의 다른 글

nodejs 설치 및 설정  (0) 2021.12.05
AWS Cloudfront 기능 파악  (0) 2020.03.30

관련글 더보기

댓글 영역