๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ํŒจ์บ  ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

<์ด์ „ ๊ธ€>

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 ์ž‘์„ฑ์„ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค!

 

 

 

+ Recent posts