Skip to content

Latest commit

ย 

History

History
50 lines (39 loc) ยท 2.7 KB

File metadata and controls

50 lines (39 loc) ยท 2.7 KB

์ด์ œ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด Migrationํ•œ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. superuser ์ƒ์„ฑ

๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๊ฐ€์ง„ superuser๋ฅผ ์ƒ์„ฑํ•ด์•ผ admin(๊ด€๋ฆฌ์ž) ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ python manage.py createsuperuser
  • ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.
  • ์ด๋ฉ”์ผ์€ ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅํ•ด๋„ ๋˜๊ณ  ๊ทธ๋ƒฅ ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.
  • Password๋Š” ์ž…๋ ฅ ๋‚ด์šฉ์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž˜ ์ž…๋ ฅ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ˆ ์—”ํ„ฐ ํ›„ Password(again)์— ๋‹ค์‹œ ์ž…๋ ฅ์— ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ๋„ˆ๋ฌด ์งง๊ฑฐ๋‚˜, ์ˆซ์ž๋กœ๋งŒ ๋˜์–ด ์žˆ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ password validation์— ๊ฑธ๋ ค ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๊ฐ€ ๋œน๋‹ˆ๋‹ค. y๋ฅผ ์ž…๋ ฅํ•ด ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘€ ์ฐธ๊ณ ๋กœ [y/N] ๋Š” yes, no๋ฅผ ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ์ธ๋ฐ ๋Œ€๋ฌธ์ž๋กœ ๋˜์–ด์žˆ๋Š” ๊ฐ’์ด default๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด no๋กœ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.

2. admin ํŽ˜์ด์ง€ ๋กœ๊ทธ์ธ ํ•˜๊ธฐ

admin ํŽ˜์ด์ง€๋Š” ๊ธฐ๋ณธ์ฃผ์†Œ + '/admin'๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๊นŒ ๋งŒ๋“  ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ•ด์ค๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„๊นŒ ๋งŒ๋“  Blog๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. admin.py์— ์ถ”๊ฐ€ํ•ด์•ผ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3. admin.py์— models.py์˜ class ๋“ฑ๋กํ•˜๊ธฐ

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๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. amdin์—์„œ ๊ฐ์ฒด ์ƒ์„ฑํ•ด๋ณด๊ธฐ

์ด์ œ Blog๋ฅผ admin ํŽ˜์ด์ง€์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์ธก ์ƒ๋‹จ์˜ BLOG ์ถ”๊ฐ€๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด๋ด…์‹œ๋‹ค.

5. ์ œ๋ชฉ์ด ๋Œ€ํ‘œ๊ฐ’์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ์„ค์ •ํ•˜๊ธฐ

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__ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋ธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์˜ ๋ฌธ์ž์—ด ํ‘œํ˜„์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ž๊ธฐ์ž์‹ ์˜ ์ œ๋ชฉ์„ ๋ฆฌํ„ด์— ์ œ๋ชฉ์ด ๋Œ€ํ‘œ๊ฐ’์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.