가상환경 설정
[window 환경]
python -V
python -m venv venv
.\venv\Scripts\activate
pip install --upgrade pip
pip install django
django-admin startproject config .
django-admin startapp posts
config -> settings.py -> INSTALLED_APS에 'posts', 추가
posts/models.py 코드 작성
from django.db import models
class Post(models.Model):
image = models.ImageField(verbose_name='이미지')
content = models.TextField('내용')
created_at = models.DateTimeField('작성일')
view_count = models.IntegerField('조회수')
migration 하기
위에서 작성한 클래스에 대해서 아래 명령어를 작성 할 경우 알아서 명세를 해준다.
python manage.py makemigrations
error 발생
models.ImageField 사용 할 수 없음 -> pip install Pillow
python manage.py makemigrations
migrations/0001_initial.py 파일 항목에 갔을 때 명세사항이 적힌 것을 알 수 있다.
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Post',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to='', verbose_name='이미지')),
('content', models.TextField(verbose_name='내용')),
('created_at', models.DateTimeField(verbose_name='작성일')),
('view_count', models.IntegerField(verbose_name='조회수')),
],
),
]
migrate 하기
python manage.py migrate
테이블을 작성하기 위한 명령어, 실제 데이터베이스가 생성된다.
user 생성하기
python manage.py createsuperuser
Username -> admin
Email address : [enter]
Password : [enter]
y
확장 프로그램을 통해 db 내역 확인
[vscode]
SQLite 설치
db.sqlite3 우클릭 -> open database
좌측 하단 SQLITE EXPLORER
auth_user로 들어가서 user가 생성됐는지 확인
Field types 참고 문서