728x90
5์ฃผ์ฐจ - Models ๋ฐ DB ์์ฑ, ๋ธ๋ก๊ทธ ๊ธ ๋ถ๋ฌ์ค๊ธฐ
โ Models ๋ฐ DB ์์ฑ
1. models.py ์์ ์ด๋ค ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ง class๋ก ์ ์
from django.db import models
# Create your models here.
class Blog(models.Model):
# title ๋ณ์๋ ์ต๋ ๊ธธ์ด 200์ธ ์งง์ ๋ฌธ์์ด ํ์์ผ๋ก ์ ์
title = models.CharField(max_length=200)
# writer ๋ณ์๋ 100
writer = models.CharField(max_length=100)
# pub_date ๋ ๋ ์ง-์๊ฐ ํ์์ผ๋ก ์ ์
pub_date = models.DateTimeField()
body = models.TextField()
def __str__(self):
return self.title
2. DB๊ฐ ์์๋ฃ๊ฒ๋ makemigrations > migrate
3. admin ๊ณ์ ๋ง๋ค๊ณ ๋ฐ์ดํฐ ์์ฑ
โ ๋ธ๋ก๊ทธ ๊ธ(๋ฐ์ดํฐ) ๋ถ๋ฌ์ค๊ธฐ
- ๋ธ๋ก๊ทธ ๊ธ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ (์ฟผ๋ฆฌ์ )
- ํน์ ๋ธ๋ก๊ทธ ๊ธ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ
6์ฃผ์ฐจ - ์ ์ ํ์ผ ๊ด๋ฆฌ, ๋ธ๋ก๊ทธ ๊ธ ์์ฑ/์์ /์ญ์
โ ์ ์ ํ์ผ(Static, Media) ๊ด๋ฆฌ
Static
- Static ํ์ผ์ ๋ด์ ํด๋ ๋ง๋ค๊ธฐ
- Static ํ์ผ์ด ์ด๋ ์๊ณ , ์ด๋๋ก ๋ชจ์์ง settings.py์ ์๋ ค์ฃผ๊ธฐ
- Static ํ์ผ ๋ชจ์ผ๊ธฐ
- html ์์ load static ์ ์ธ ํ static ํ์ผ ์ฌ์ฉ
- static ํ์ผ ๋ฃ์ด์ฃผ๊ธฐ
Media
- settings.py์ MEDIA_ROOT์ MEDIA_URL ์ค์
- urls.py์ media ํ์ผ ๊ฒฝ๋ก ์ค์
- models์ ์ด๋ฏธ์ง ์นผ๋ผ ์ถ๊ฐ
- pillow ์ค์น ๋ฐ migration
- new.html์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ ๋ฐ์ ์ ์๋ form ์์ฑ
- details.html์ media ํ์ผ ๋์์ฃผ๊ธฐ
โ ๋ธ๋ก๊ทธ ๊ธ ์์ฑ/์์ /์ญ์
- ์์ฑ (create)
- ์์ (update)
- ์ญ์ (delete)
7์ฃผ์ฐจ - ํ์๊ฐ์ /๋ก๊ทธ์ธ/๋ก๊ทธ์์, ์์ ๋ก๊ทธ์ธ
โ ํ์๊ฐ์ /๋ก๊ทธ์ธ/๋ก๊ทธ์์
- Django Auth ํจ์ ์ฌ์ฉ
from django.contrib.auth import login, authenticate, logout
from django.contrib.auth.forms import AuthenticationForm
โ ์์ ๋ก๊ทธ์ธ ( Google ๋ก๊ทธ์ธ )
728x90