본문 바로가기
django

[리눅스 환경] Django에서 mysql 실행 및 데이터 넣고 확인하는 방법

by Antonio Bae 2023. 9. 11.

 

Django

The web framework for perfectionists with deadlines.

docs.djangoproject.com

 

현재 프로젝트를 서비스를 가동시켜주는 파일.

 

사진 설명을 입력하세요.

 

 

 

 

 

내 컴퓨터로 보기 위해 포트 변경하는 방법

0.0.0.0을 추가로 넣어줘야 합니다.

python manage.py runserver 0.0.0.0:8000
 

 

1.투표 앱 만들기

mysite 안에서 polls 앱 만들기

python manage.py startapp polls
 

2.라우팅 걸기

1) polls 앱 views.py 파일 코드 작성

사진 설명을 입력하세요.

2) polls 앱 urls.py 파일 코드 작성

사진 설명을 입력하세요.

 

3)mysite폴더 urls.py 파일 코드 작성( 39p, 128p 참고)

 

url pattern 접근 방법

1.클래스 형태로 접근

2.함수형태로 접근

3.앱을 만들어 include로 접근

사진 설명을 입력하세요.

작성 결과 코드

사진 설명을 입력하세요.

 

결과 확인

http://localhost:8000/polls/

 

사진 설명을 입력하세요.

 

 

path 인자 정의

1.route

2.view

3.kwargs

4.name

사진 설명을 입력하세요.

URL 에 이름을 지으면, 템플릿을 포함한 Django 어디에서나 명확하게 참조 가능 합니다.

 

3.sql lite 데이터베이스 설치

 

설치해줍니다.

https://www.sqlite.org/download.html

SQLite Download Page

Small. Fast. Reliable. Choose any three. Home About Documentation Download License Support Purchase Search SQLite Download Page Pre-release Snapshots sqlite-snapshot-202309111527.tar.gz (3.03 MiB) The amalgamation source code, the command-line shell source code, configure/make scripts for unix, an...

www.sqlite.org

사진 설명을 입력하세요.

만약 mysql이라면 sqlite3에서 mysql로 바꾸어줘야겠죠.

사진 설명을 입력하세요.

4.타임존 설정(115p)

사진 설명을 입력하세요.

사진 설명을 입력하세요.

 

5.migration

migration이란?

원래 개념에서는 버전 변경을 위해 쓰이나,

파이썬에서는 모델에 실제로 반영해

즉, 내가 변경한 내역들을 반영

사진 설명을 입력하세요.

python manage.py migrate
 

 

6.모델만들기

모델이란? 메타데이터를 가진 데이터베이스의 구조

2 가지 테이블 구조 생성

1.question

2.Choice

=polls앱 에서 모델 객체 생성

models.py 파일 코드 작성

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
 

참고로 메타 정보란?

무언가를 만들기 위해 선언하는 정보

ex) 코드선언할 때 charset utf-8

 

7.모델의 활성화

settings.py 편집

 

이 어플리케이션들은 일반적인 경우에 사용하기 편리하도록 기본으로 제공됩니다.

django.contrib.admin – 관리용 사이트. 곧 사용하게 될 겁니다.

django.contrib.auth – 인증 시스템.

django.contrib.contenttypes – 컨텐츠 타입을 위한 프레임워크.

django.contrib.sessions – 세션 프레임워크.

django.contrib.messages – 메세징 프레임워크.

django.contrib.staticfiles – 정적 파일을 관리하는 프레임워크.

이 어플리케이션들은 일반적인 경우에 사용하기 편리하도록 기본으로 제공됩니다.

사진 설명을 입력하세요.

8.모델 생성

모델 변경시킨 후 마이그레이션 + sql 마이그레이션

0001

python manage.py makemigrations polls
 

사진 설명을 입력하세요.

9. sql 생성

자동으로 데이터베이스 스키마를 관리해주는 sql 명령어

 

python manage.py sqlmigrate polls 0001
 

사진 설명을 입력하세요.

sql 생성된 화면

사진 설명을 입력하세요.

10.db에 테이블 반영 (마이그레이션)

migrate 명령은 아직 적용되지 않은 마이그레이션을 모두 수집해 이를 실행하며(Django는 django_migrations 테이블을 두어 마이그레이션 적용 여부를 추적합니다)

이 과정을 통해 모델에서의 변경 사항들과 데이터베이스의 스키마의 동기화가 이루어집니다.

python manage.py migrate
 

사진 설명을 입력하세요.

 

11.SQL에 데이터가 잘 저장이 되어있는지 확인 하는 작업

몰라도 되는 부분입니다.

API 가지고 놀기

python manage.py shell
 

사진 설명을 입력하세요.

 

이까지만 하고 다음 포스팅에서 이어 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

감사합니다.