장고 프로젝트 구현 순서
1. 프로젝트 뼈대 만들기
2. Model(모델) 코딩하기
테이블 관련 사항을 개발(models.py, admin.py파일)
3. URLconf 코딩하기
URL 및 View 매핑 관계를 정의(urls.py 파일)
4. template(템플릿) 코딩하기
화면 UI 개발(templates/ 디렉토리 하위의 .html 파일)
5. View(뷰) 코딩하기
어플리케이션 로직 개발(views.py 파일)
from django.db import models
from django.db.models.query_utils import RegisterLookupMixin
class Fcuser(models.Model):
# verbose_name: 관리자 페이지에서의 출력 string
username = models.CharField(max_length=64,
verbose_name='사용자명')
password = models.CharField(max_length=64,
verbose_name="비밀번호")
registered_dttm = models.DateTimeField(auto_now_add=True,
verbose_name='등록시간')
# 클래스 안의 클래스로 프레임워크에서 테이블명 지정 등 내가 원하는 동작을 수행
class Meta:
db_table = 'fastcampus_fcuser'
$ python manage.py makemigrations
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
$ sqlite3 db.sqlite3
SQLite version 3.32.3 2020-06-18 14:16:19
Enter ".help" for usage hints.
sqlite> .tables
auth_group django_admin_log
auth_group_permissions django_content_type
auth_permission django_migrations
auth_user django_session
auth_user_groups fastcampus_fcuser
auth_user_user_permissions
sqlite> .schema fastcampus_fcuser
CREATE TABLE IF NOT EXISTS "fastcampus_fcuser" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "username" varchar(64) NOT NULL, "password" varchar(64) NOT NULL, "registered_dttm" datetime NOT NULL);
sqlite>