Activities/๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ

[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 5~7์ฃผ์ฐจ - Blog Project

J1Yun 2021. 7. 20. 22:44
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 ๊ณ„์ • ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

 

โ—ˆ ๋ธ”๋กœ๊ทธ ๊ธ€(๋ฐ์ดํ„ฐ) ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

- ๋ธ”๋กœ๊ทธ ๊ธ€ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ (์ฟผ๋ฆฌ์…‹)

blogList.html

- ํŠน์ • ๋ธ”๋กœ๊ทธ ๊ธ€ ๋‚ด์šฉ ๊ฐ€์ ธ์˜ค๊ธฐ

details.html

 

6์ฃผ์ฐจ - ์ •์  ํŒŒ์ผ ๊ด€๋ฆฌ, ๋ธ”๋กœ๊ทธ ๊ธ€ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œ

โ—ˆ ์ •์  ํŒŒ์ผ(Static, Media) ๊ด€๋ฆฌ

Static 

  1. Static ํŒŒ์ผ์„ ๋‹ด์„ ํด๋” ๋งŒ๋“ค๊ธฐ
  2. Static ํŒŒ์ผ์ด ์–ด๋”” ์žˆ๊ณ , ์–ด๋””๋กœ ๋ชจ์„์ง€ settings.py์— ์•Œ๋ ค์ฃผ๊ธฐ
  3. Static ํŒŒ์ผ ๋ชจ์œผ๊ธฐ
  4. html ์ƒ์— load static ์„ ์–ธ ํ›„ static ํŒŒ์ผ ์‚ฌ์šฉ
  5. static ํŒŒ์ผ ๋„ฃ์–ด์ฃผ๊ธฐ

Media

  1. settings.py์— MEDIA_ROOT์™€ MEDIA_URL ์„ค์ •
  2. urls.py์— media ํŒŒ์ผ ๊ฒฝ๋กœ ์„ค์ •
  3. models์— ์ด๋ฏธ์ง€ ์นผ๋Ÿผ ์ถ”๊ฐ€
  4. pillow ์„ค์น˜ ๋ฐ migration
  5. new.html์— ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” form ์ž‘์„ฑ
  6. details.html์— media ํŒŒ์ผ ๋„์›Œ์ฃผ๊ธฐ 

โ—ˆ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œ

- ์ƒ์„ฑ (create)

new.html
blogList.html

 

details.py

 

- ์ˆ˜์ • (update)

edit.html

- ์‚ญ์ œ (delete)

 

7์ฃผ์ฐจ - ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ, ์†Œ์…œ ๋กœ๊ทธ์ธ

โ—ˆ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ

- Django Auth ํ•จ์ˆ˜ ์‚ฌ์šฉ

from django.contrib.auth import login, authenticate, logout
from django.contrib.auth.forms import AuthenticationForm

โ—ˆ ์†Œ์…œ ๋กœ๊ทธ์ธ ( Google ๋กœ๊ทธ์ธ )

Google Cloud Platform API
Google ๋กœ๊ทธ์ธ ์—ฐ๋™

728x90