๋ณธ ํ๋ก์ ํธ๋ ํจ์บ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.
<์ด์ ๊ธ>
https://silvercoding.tistory.com/12
[DJANGO ๊ธฐ์ด] 2. MTV์ Model ์์ฑ, sqlite db ๊ธฐ๋ณธ์ ์ธ ๊ด๋ฆฌ
๋ณธ ํ๋ก์ ํธ๋ ํจ์บ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค. <์ด์ ๊ธ> https://silvercoding.tistory.com/11 [DJANGO ๊ธฐ์ด] ๊ฐ์ํ๊ฒฝ ์ค์ ๋ฐ ์ฑ ์์ฑ ํ๋ ์ ์ํฌ - ์์ฃผ ์ฌ์ฉ๋๋ ์ฝ๋๋ฅผ ์ฒด๊ณํ ํ์ฌ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋
silvercoding.tistory.com
admin์ด ๋ฌด์์ธ๊ฐ?
admin์ django๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ์ด ๋์ด์๋ค. ์ด๋ฅผ ํ์ธํด ๋ณด์.
1. community ํด๋ ---> settings.py
INSTALLED_APPS์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ด๊ฐ ์๋ค. (๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์ค)
2. community ํด๋ ---> urls.py
์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก admin ์ด ์์ฑ๋์ด ์๋ค.
jango ์์ admin์ด ๊ฒฝ๋ก admin ์๋์ ์ฐ๊ฒฐ๋์ด ์๋ค.
๊ด๋ฆฌ์ ํ์ด์ง์์ ์ฌ๋ฌ url๋ค์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ jango์ admin ์์ ์ฌ๋ฌ๊ฐ์ง url ๋ค์ด ์ ์๊ฐ ๋์ด์๋ค. ์ด๋ฌํ ์ฌ์ฉ๋๋ url๋ค์ด jango์ admin์์ ์ ์๊ฐ ๋์ด์๋ค๋ ์๋ฆฌ์ด๊ณ , ๊ทธ๊ฒ๋ค์ ํ๋ก์ ํธ ์์์ admin/ ๊ฒฝ๋ก ํ์์ ์ง์ ์ ํด๋๋ ๊ฒ์ด๋ค.
์ฃผ์๋ฅผ ์ ๋ ฅํ ๋ (ex) silver.com/admin/..... ์ด๋ ๊ฒ ์ฌ์ฉํ๋ค๋ฉด ---> admin ํ์์ ๋ค์ด๊ฐ๋ ์ฃผ์๋ค(.....) ์ admin.site.urls ์์ ์ ์๋ url์ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ด๋ค.
๋จ์ํ๊ฒ ๋งํ๋ฉด ์ฃผ์๋ค์ admin์ ๋ถ์ด๋ฉด ์ฅ๊ณ ์ ๊ด๋ฆฌ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๋ป์ด๋ค. ๋ณต์กํ๋ ์ด๋ ๊ฒ ์ดํดํ๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค.
๊ฐ๋ฐ ์๋ฒ์ ๋ค์ด๊ฐ๋ณด์
ํฐ๋ฏธ๋
python manage.py runserver
์ด๋ ๊ฒ ์์ฑํด์ฃผ๋ฉด ๊ฐ๋ฐ์๋ฒ๊ฐ ์คํ๋๋ค.
starting development ---- ๋ค์ ์ฃผ์๊ฐ ๋์จ๋ค. ์ด ์ฃผ์/admin์ ์ฃผ์์ฐฝ์ ์น๋ฉด
์์ด๋ ํจ์ค์๋๋ฅผ ๋ง๋ค์ด์ค ์ ์ด ์๋๋ฐ ๋ก๊ทธ์ธ์ ํ๋ผ๊ณ ํ๋ค.
๊ทธ๋์ ์ด๊ฑธ ๋ง๋ค์ด ์ฃผ์ด์ผ ํ๋ค
๊ฐ๋ฐ์๋ฒ๋ ctrl + c ๋ก ์ข ๋ฃ ํ ์ ์๋ค.
- ์์ด๋ ํจ์ค์๋ ๋ง๋ค๊ธฐ
ํฐ๋ฏธ๋
python manage.py createsuperuser
์ด๊ฑธ ์ณ์ ์์ด๋, ํจ์ค์๋๋ฅผ ๋ง๋ค์ด ์ค๋ค.
๊ทธ๋ค์ ๋ค์ ์คํ์์ผ ๋ก๊ทธ์ธํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ์ฐฝ์ด ์๊ฒจ์ ธ์๋ค.
Users์ ๋ค์ด๊ฐ๋ณด๋ฉด ๋ฐฉ๊ธ ๋ง๋ user์ ๋ณด๊ฐ ๋ค์ด๊ฐ์ ธ ์๋ค.
์ฅ๊ณ admin์ ๋ง๋ model ๋ฑ๋ก
1. user ํด๋ --> admin.py
...
from .models import User
class userAdmin(admin.ModelAdmin):
pass
admin.site.register(User, userAdmin)
User ํด๋์ค๋ฅผ import ํด์ฃผ๊ณ , ๊ด๋ฆฌ์์ ์ธ ๋ด์ฉ๋ค์ ๊ธฐ์ ํ๋ค.
----> runserver ๋ค์ ์คํ ํ ๋ค์ด๊ฐ๋ณด๋ฉด
๋ง๋ ๋ชจ๋ธ์ด ์ ์ฉ๋์๋ค.
User ์ Users์ Add ๋ฒํผ์ ๋๋ฌ์ ์ฌ์ฉ์๋ฅผ ํ๊ฐ ์ถ๊ฐํด์ค๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ ์์ฑ์ด ๋๋ค. ๊ทธ๋ฐ๋ฐ Users๋ ์์ Users์ ๊ฐ์ ํผ๋๋๊ธฐ๋ ํ๊ณ , ๊ด๋ฆฌํ๊ธฐ ์ข๊ฒ ํ๊ธ๋ก ๋ฐ๊พธ์ด์ค ๊ฒ์ด๋ค. User object (1) ์ด๋ผ๊ณ ์ ํ์๋ ๊ฒ์ Username์ผ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค.
2. Users ๊ธ์จ ๋ฐ๊ฟ์ฃผ๊ธฐ
user ํด๋ ---> models.py ---> class Meta
from django.db import models
class User(models.Model):
...
class Meta:
db_table = 'test_user'
verbose_name = "์ฌ์ฉ์"
verbose_name_plural = "์ฌ์ฉ์" ## ๋ณต์ํ ์ง์
์ง๋ ๊ธ์์ ์์ฑํ๋ Meta ํด๋์ค์์ verbose_name์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค!
3. User object ๊ธ์จ ๋ฐ๊ฟ์ฃผ๊ธฐ
user ํด๋ ---> models.py ---> def __str__(self)
class User(models.Model):
...
def __str__(self):
return self.Username
์ด๋ฒ์๋ model.py ์ ํจ์๋ฅผ ํ๋ ์์ฑํด์ค๋ค.
์ ์ User object (1) ๋ผ๊ณ ์ฌ์ฉ์๊ฐ ์ ์ฅ์ด ๋์ด์์๋๋ฐ, ์ด๋ Userํด๋์ค๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ์ ๋ ๋์ค๋ ๊ฐ์ด๋ค. ์ด ๋ ํด๋์ค๋ฅผ ๋ฌธ์๋ก ๋ณํํ ๋ ์ด๋ค ๋ฌธ์๋ก ๋ณํ์์ผ์ค ์ง ์ ํ๋ ๋ด์ฅํจ์๊ฐ __str__ ์ธ ๊ฒ์ด๋ค.
user ํด๋ ---> admin.py ---> class userAdmin
...
class userAdmin(admin.ModelAdmin):
list_display = ('Username', 'password')
...
์ ์ pass๋ก ๋จ๊ฒจ๋๋ ๋ถ๋ถ์ list_display ํํ์ ์์ฑํด์ฃผ๋ฉด ์ด ํํ ์์ ์๋ ์ฌ์ฉ์์ ์ ๋ณด๊ฐ ๋ํ๋๊ฒ ๋๋ค. ์ฌ์ฉ์๋ช ๋ง ๋ณด์๋ ๊ฒ์ด ๋น๋ฐ๋ฒํธ๋ ํจ๊ป ๋ณด์ฌ์ง ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๊น์ง ํด์
์ต์ข ํ๋ฉด
์ง์ ํ ๋๋ก ๋ชจ๋ ์ ๋ณํ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ค์์๋ MTV ๊ตฌ์กฐ์์ T, V ์์ฑ์ ํด๋ณผ ๊ฒ์ด๋ค!