์ด์ ๊ด๋ฆฌ์ ํ์ด์ง๋ฅผ ํตํด Migrationํ ๋ฐ์ดํฐ ํ ์ด๋ธ์ ์ฝ๊ฒ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
๊ด๋ฆฌ์ ๊ถํ์ ๊ฐ์ง superuser๋ฅผ ์์ฑํด์ผ admin(๊ด๋ฆฌ์) ํ์ด์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
$ python manage.py createsuperuser
- ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํด์ค๋๋ค.
- ์ด๋ฉ์ผ์ ์ ํ ์ฌํญ์ ๋๋ค. ์ ๋ ฅํด๋ ๋๊ณ ๊ทธ๋ฅ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ๋ค์์ผ๋ก ๋์ด๊ฐ๋๋ค.
- Password๋ ์ ๋ ฅ ๋ด์ฉ์ด ๋ณด์ด์ง ์์ต๋๋ค. ์ ์ ๋ ฅ๋๊ณ ์๋ ๊ฒ์ด๋ ์ํฐ ํ Password(again)์ ๋ค์ ์ ๋ ฅ์ ํ์ธํฉ๋๋ค.
- ๋๋ฌด ์งง๊ฑฐ๋, ์ซ์๋ก๋ง ๋์ด ์๋ ๋น๋ฐ๋ฒํธ๋ก ์์ฑํ ๊ฒฝ์ฐ password validation์ ๊ฑธ๋ ค ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๊ฐ ๋น๋๋ค.
y
๋ฅผ ์ ๋ ฅํด ๊ทธ๋๋ก ์งํํด๋ ๊ด์ฐฎ์ต๋๋ค. ๐ ์ฐธ๊ณ ๋ก [y/N] ๋ yes, no๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒ์ธ๋ฐ ๋๋ฌธ์๋ก ๋์ด์๋ ๊ฐ์ด default๋ก ์ค์ ๋์ด ์๋ ๊ฐ์ ๋๋ค. ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด no๋ก ์ ๋ ฅ๋ฉ๋๋ค.
admin ํ์ด์ง๋ ๊ธฐ๋ณธ์ฃผ์ + '/admin'
๋ก ์ ์ํ ์ ์์ต๋๋ค.
์๊น ๋ง๋ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ ํด์ค๋๋ค.
ํ์ง๋ง ์๊น ๋ง๋ Blog
๋ ๋ณด์ด์ง ์์ต๋๋ค. admin.py์ ์ถ๊ฐํด์ผ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
basic>main>admin.py ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํด์ค๋๋ค.
from django.contrib import admin
from .models import Blog # Blog ๋ชจ๋ธ import
admin.site.register(Blog) # admin์ฌ์ดํธ์ Blog๋ฅผ ๋ฑ๋ก
๋ฐ๋์ import
ํด์ฃผ์ด์ผ Blog
๋ฅผ ์ธ์ํ ์ ์์ต๋๋ค!
.models
์ธ ์ด์ ๋ models.py๊ฐ admin.py์ ๊ฐ์ ๊ฒฝ๋ก์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ๊ฒฝ๋ก์์ models๋ฅผ ์ฐพ๊ณ , ๊ทธ ์์ ์๋ Blog
๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์ด์ Blog
๋ฅผ admin ํ์ด์ง์์ ํ์ธํ ์ ์์ต๋๋ค. ์ฐ์ธก ์๋จ์ BLOG ์ถ๊ฐ
๋ฒํผ์ ๋๋ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํด๋ด
์๋ค.
Blog object (1)
์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ฒด๊ฐ ์กฐํ๋ฉ๋๋ค. title
๋ก ์กฐํ๋๋ฉด ๋ณด๊ธฐ ๋ ํธํ๊ฒ ์ฃ ? ํ ๋ฒ ์ค์ ํด๋ณด๊ฒ ์ต๋๋ค.
class Blog(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=200)
writer = models.CharField(max_length=100)
pub_date = models.DateTimeField()
body = models.TextField()
def __str__(self):
return self.title
์๊น models.py์ ์์ฑํ Blog class์ __str__
๋ฉ์๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด ๋ฉ์๋๋ ๋ชจ๋ธ ํด๋์ค์ ๊ฐ์ฒด์ ๋ฌธ์์ด ํํ์ ๋ฆฌํดํฉ๋๋ค. ๊ฐ์ฒด ์๊ธฐ์์ ์ ์ ๋ชฉ์ ๋ฆฌํด์ ์ ๋ชฉ์ด ๋ํ๊ฐ์ผ๋ก ๋์ค๊ฒ ๋๋ ๊ฒ์
๋๋ค.