์ค๋์ ์ฌ์ง..... ๋งค์ฐ ํผ๊ณคํด๋ณด์ด๋ ๊ณ ๋ช ๊ตฐ์ผ๋ก ์์..........
๋จผ์ git
์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ํํธ์จ์ด๋ก ๋ฒ์ ๊ด๋ฆฌ ์์คํ
(VCS:Version Control System)
์ด๋ผ๊ณ ๋ ํ๋ค.
ํ์ผ ๋ณํ๋ฅผ ์๊ฐ์ ๋ฐ๋ผ ๊ธฐ๋กํ๋ค๊ฐ ๋์ค์ ํน์ ์์ ์ ๋ฒ์ ์ ๋ค์ ๊บผ๋ด์ฌ ์ ์๋ ์์คํ
์ด๋ค.
VCS๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํ์ผ์ ์ด์ ์ํ๋ก ๋๋๋ฆด ์ ์๊ณ , ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ์ด์ ์ํ๋ก ๋๋๋ฆฌ๊ฑฐ๋ ์๊ฐ์ ๋ฐ๋ผ ์์ ๋ด์ฉ์ ๋น๊ตํด ๋ณผ ์ ์๊ณ , ๋๊ฐ ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผฐ๋์ง๋ ์ถ์ ํ๊ฑฐ๋ ์ธ์ ๋ง๋ค์ด๋ธ ์ด์์ธ์ง๋ ์ ์ ์๋ค.
1. ๋ฒ์ ๊ด๋ฆฌ
-> ์๊ตฌ์ฌํญ ๋ฐ์์ ๋ฐ๋ณตํ ๋ ์ฝ๋์ ๊ธฐ๋ฅ์ ์์ ํ๊ฒ ๋๋๋ฐ ์ด๋ ์ ์ฒด๊ฐ ๋ค์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋ ์
๋ฐ์ดํธ๋ ๋ถ๋ถ๋ง ์ ์ฅํ๊ฒ๋๋ค.
์ฆ! ๋ถํ์ํ ์ฉ๋ ์ฐจ์ง๋ฅผ ์ค์ด๊ณ ๊ณผ๊ฑฐ ๋ฒ์ ์ ์ฝ๋๋ก ๋๋์๊ฐ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
2. ํ์
-> ์ฌ๋ฌ๋ช
๊ณผ ์์
ํ ๋ ์ด๋ฉ์ผ์ด๋ ๊ณต์ ๋๋ผ์ด๋ธ๋ก ์ํตํ๊ธฐ์ ๋ณต์กํ๊ณ ์ ์ฝ์ฌํญ์ด ๋ง๋ค. ๋ฐ๋ก๋ฐ๋ก ์
๋ฐ์ดํธ๊ฐ ๋์ง์๊ณ ์์ ํด์ผํ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋ ๋๊ฐ ์ด๋๋ฅผ ์ด๋ป๊ฒ ์๋ชป๊ฑด๋๋ ธ๋์ง ํ์ธํ๊ธฐ๊ฐ ๋งค์ฐ ๋ถํธํ๋ค.
์ฌ๊ธฐ์ git์ ๊ฐ์ ๋งก์ ์
๋ฌด๋ฅผ ๋ถ๋ฐฐํ์ฌ ํด๋น ๊ธฐ๋ฅ์ ๋ง๋ ์ฝ๋๋ฅผ ๋ง๋ค๊ฑฐ๋ ์์ ํ๊ณ ์ด๊ฒ๋ค์ ํฉ์นจ์ผ๋ก์จ ์
๋ฌด ํจ์จ์ด ํฅ์๋ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
remote repository (์๊ฒฉ ์ ์ฅ์)
-> ํ์ผ์ด ์๊ฒฉ ์ ์ฅ์ ์ ์ฉ ์๋ฒ์์ ๊ด๋ฆฌ๋๋ค. ์ฌ๋ฌ ์ฌ๋๊ณผ ํจ๊ป ๊ณต์ ํ ์ ์๋ ์ ์ฅ์๋ฅผ ๋งํ๋ค. ๋ํ์ ์ธ ์์๋ก github
๊ฐ ์๋ค.
local repository (๋ก์ปฌ ์ ์ฅ์)
-> ๋ด ์ปดํจํฐ์ ์ ์ฅ์๋ฅผ ๋งํ๋ค. ์ฆ ๋ด pc์ ํ์ผ์ด ์ ์ฅ
๋๋ค๋ ๋ป์ด๋ค.
1. add
-> commit ์์
์ ํ๊ธฐ ์ ๊น์ง์ ๋ณ๊ฒฝ๋ถ์ ๋ชจ์๋๋ ์์
์ด ๋ช
๋ น์ด๋ฅผ ์คํํด๋ git ์ ์ฅ์์ ๋ณ๊ฒฝ์ด๋ ฅ์๋ ์ด๋ ํ ์ํฅ๋ ๋ผ์น์ง ์์ผ๋ฉฐ ์คํ
์ด์ง ์์ญ์๋ง ์ฌ๋ฆด๋ฟ git ์ ์ฅ์์ ์ค์ง์ ์ธ ์ํฅ์ด ๋ผ์น์ง ์๋๋ค.
2. commit
-> ์์
์ํ ๋ด์ฉ์ ์ ์ฅํ๋ ์์
์ ์ฒด ๋ณต์ฌ๊ฐ ์๋ ๊ฐ ๋ฒ์ ์ ๋ณ๊ฒฝ์ฌํญ๋ง ๊ธฐ๋กํ๋ ์์
์ด๋ค. ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ ๊ธฐ๋กํด local ์ ์ฅ์(๋ด pc)์ ์์
๋ด์ฉ์ ์ ์ฅํ๋ค. ์ค์ง์ ์ผ๋ก git ์ ์ฅ์์ ์ํฅ์ ๋ผ์น๋ ์์
์ด๋ค.
-> ๋ณ๊ฒฝ์ด๋ ฅ์ ๋จ๊ธฐ๋ ์ค์ํ ์์
์ด๋ฏ๋ก ๋ฉ์์ง๋ฅผ ํ์๋ก ์
๋ ฅํด์ผํ๋ค. ๋ฉ์์ง๊ฐ ์์ผ๋ฉด commit์ด ์คํ๋์ง์๋๋ค.
3. push
-> local ์ ์ฅ์์์ commitํ ์์
์ remote ์ ์ฅ์๋ก ๋ณด๋ด๋ ์์
์ด๋ค.
์ฆ, ๋ด pc์ ์๋ ๋ณ๊ฒฝ์ด๋ ฅ์ github์ ์
๋ก๋ํ๋ ์์
์ ๋งํ๋ค.
4. pull
-> remote ์ ์ฅ์์์ local ์ ์ฅ์๋ก ์
๋ฐ์ดํธํ๋ ์์
์ด๋ค.
์ฆ, github์ ์๋ ์ต์ ํ์ผ์ ๋ค์ด๋ก๋ํ์ฌ ๋ด pc์ ๋ค์ด๋ก๋ํ๋ ์์
์ ๋งํ๋ค.
-> git์ผ๋ก ์ ์ฅ๋ผ์ ์๊ฒฉ์ ์ก๋ ํ์ผ๋ค์ด ์ ์ฅ๋๋ ๊ณต๊ฐ์ ์ ๊ณตํ๋ ์๋น์ค
๋ง์ด ์ฐ๋ ์ด์
๋น๊ณต๊ฐ๋ก ์ฌ๋ฆด๋๋ฅผ ์ ์ธํ๊ณ ๋ git์ผ๋ก ๊ด๋ฆฌํ๋ ๋ชจ๋ ์ฝ๋๋ค๊ณผ ํ๋ก์ ํธ๋ฅผ ๋ฌด๋ฃ๋ก ์ ์กํด์ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์!
๋๋์ด django ๊ธฐ์ด์ ๋ค์ด๊ฐ๋ค. ์์๋ถํฐ ์๋ฌ ํํฐ๊ธดํ์ง๋ง ๊ทธ๋๋ ๋๋ฆ ์ฌ๋ฏธ์์ด์ ๋คํ์ฐ^^ ํ์คํ ํผ์ํ ๋๋ณด๋ค ๋ ๋ค์ํ ์๋ฌ๊ฐ ๋์จ๋ค...... ์ง์ง์๊ฒ ์ด....!
ํ์ด์ฌ ๊ธฐ๋ฐ์ ๋ฌด๋ฃ ์น ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ๋ค. ๊ฐ๋จํ ๋ฐฐํฌํ ์์๋ค๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ด ์์ผ๋ฉฐ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ MTVํจํด์ ๋ฐ๋ฅธ๋ค. ์น ํ์คํ ํ๋ ์์ํฌ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
๋ค๋ฅธ ํ๋ ์์ํฌ์ ๋นํด ์์ ๋๊ฐ ๋ฎ์๋ฐ ์ด ๋ง์ธ ์ฆ์จ ๊ฑด๋๋ฆด ์ ์๋ ๋ถ๋ถ์ด ์ ๋ค๋ ๋ป์ด๊ณ ๋ช ๊ฐ ๊ฑด๋๋ฆฌ์ง์์๋ ์ฝ๊ฒ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ ์ ์๋ค๋ ๋ป์ผ๋ก๋ ํด์ํ ์ ์๋ค!
๊ฐ๋ฐ(๋์์ธ) ํจํด์ค MVC ํจํด์ ํด๋นํ๋ค. ๋จผ์ ๊ฐ๋ฐ ํจํด์ ๋ง๋ค์ด์ผํ๋ ๊ฐ๋ฐ ์์๋ค์ ๋ํ ๊ท๊ฒฉํ๋ ์์์ ๋งํ๋๋ฐ ์์๋ก ๋ ๊ณ ์กฐ๋ฆฝ ์ค๋ช ์์ ์๋ฆฌํ๋ ๊ณผ์ ์ ๋ค ์ ์๋ค.
์ฌ๋ฃ๋ฅผ ์์งํ๊ณ ์๋ ์ฅ์ ๋ง๋ค์ด ์ด ๋์ ์์ผ๋ฉด ์๋ฆฌ๋ผ๋ ํ๋์ ๊ฐ์ฒด๊ฐ ๋๋ ๊ฒ.
์ค๋ช ์๋ฅผ ๋ณด๊ณ ๋นํ์ ์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๋ ๊ฐ์ ๋ชธํต์ ๋ง๋ค์ด ํฉํ๋ฉด ๋นํ์ ์ด๋ผ๋ ํ๋์ ๊ฐ์ฒด๊ฐ ๋๋ ๊ฒ.
์ด์ฒ๋ผ ๊ฐ๋ฐ๋ ๋์ผํ๊ฒ ํ์ํ ๋ด์ฉ์ ๋ช๊ฐ์ ๋จ์๋ก ๋๋์ด ํ๋์ฉ ๋ง๋ ํ ์ฐ๊ฒฐํ๋ฉด ํ๋ก์ ํธ๊ฐ ์์ฑ๋๋ค!
MVCํจํด์ Model, View, Controller๋ก ๊ตฌ์ฑ๋์ด์๋ค.
Controller๊ฐ ์ฌ์ฉ์์ ์์ฒญ์ Model๋ก ๋ณด๋ด๋ฉด Model์ ์์ฒญ์ ์ฒ๋ฆฌํด ๋ค์ Controller๋ก ๋ณด๋ธ๋ค. ๊ทธ๋ฆฌ๊ณ Controller๋ ์ฒ๋ฆฌ๋ ์์ฒญ์ View๋ก ๋ณด๋ด๊ณ View๋ ์ฒ๋ฆฌ๋ ์์ฒญ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค.
์ฅ๊ณ ์์๋ ์ด MVCํจํด์ ์ฝ๊ฐ ๋ณํํ์ฌ MTVํจํด์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ
MTVํจํด์ Model, Template, View๋ก ๊ตฌ์ฑ๋์ด์๋ค.
Model์ ์ฑ์ ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ถ๋ถ, Template์ ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๋ถ๋ถ, View๋ Model์ ๋ฐ์ดํฐ๋ฅผ Template์ผ๋ก ์ ๋ฌํ๊ณ Template์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ์ญํ ์ ํ๋ค.
=> ๋ก์ผ ํ์ด์ง~~~!!
from django.db import models
class Photo(models.Model):
title = models.CharField(max_length=50)
author= models.CharField(max_length=50)
image = models.CharField(max_length=200)
description = models.CharField(max_length=100)
def __str__(self):
return self.title
from .models import Photo
admin.site.register(Photo)
์ ๋ ฅ