애플리케이션 생성
python manage.py startapp blog
blog라는 애플리케이션 생성
mysite\settings.py에 'blog'를 추가하여 해당 애플리케이션에 대한 내용을 등록
블로그 글 model 생성
from django.conf import settings
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
모든 Model 객체는 blog\models.py 파일에 선언하여 모델을 만든다.
데이터베이스에 모델을 위한 테이블 생성
python manage.py makemigrations blog
python manage.py migrate blog
(myvenv) PS C:\Users\XXX\djangogirls> python manage.py makemigrations blog
Migrations for 'blog':
blog\migrations\0001_initial.py
- Create model Post
(myvenv) PS C:\Users\XXX\djangogirls> python manage.py migrate blog
Operations to perform:
Apply all migrations: blog
Running migrations:
Applying blog.0001_initial... OK
실제 데이터베이스에 모델 추가를 반영
장고 관리자
python manage.py createsuperuser
슈퍼유저 생성
(myvenv) PS C:\Users\XXX\djangogirls> python manage.py createsuperuser
Username (leave blank to use 'XXX'): admin
Email address:
Password:
Password (again):
Superuser created successfully.
앞서 만든 Post 모델을 관리자 페이지에서 볼 수 있도록 blog\admin.py에 등록
이후 서버를 실행한 뒤 접속
mysite\urls.py를 보면 admin을 통해 admin.site.urls를 실행한다
주소창에 127.0.0.1:8000/admin을 입력하면 다음과 같은 로그인 창이 뜬다.
아까 만든 슈퍼유저로 로그인을 하면 다음과 같은 관리자 페이지로 접속할 수 있다.
Post 모델도 존재하는 것을 확인할 수 있다.
<출처>
https://0ver-grow.tistory.com/893
'Study > Web' 카테고리의 다른 글
[Web]Django 쿼리셋(QuerySet) (0) | 2023.07.04 |
---|---|
[Web]Django urls.py 구성 (0) | 2023.07.04 |
[Web]Django 가상환경 구성 및 설치 (0) | 2023.07.02 |
[Web]Django MTV 패턴 (0) | 2023.07.02 |
[Web]Django 설치 및 설정(sqlite version error) (0) | 2023.06.24 |