Skip to content

Yoo117/Practice-Repository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ฐ˜๋ ค๋™๋ฌผ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ธ”๋กœ๊ทธ

1. ๋ชฉํ‘œ์™€ ๊ตฌํ˜„ ๊ธฐ๋Šฅ

1.1 ๋ชฉํ‘œ

  • 1. ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ์„ฑํ™” ๋ฐ ์†Œํ†ต

    • ๋ฐ˜๋ ค๋™๋ฌผ ์• ํ˜ธ๊ฐ€๋“ค์ด ํ™œ๋ฐœํ•˜๊ฒŒ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ, ์‚ฌ์šฉ์ž๋“ค์ด ์ž์‹ ์˜ ๊ฒฝํ—˜์„ ๋‚˜๋ˆ„๊ณ  ์„œ๋กœ์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ฉฐ ์œ ๋Œ€๊ฐ์„ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • 2. ๋ฐ˜๋ ค๋™๋ฌผ ๊ด€๋ จ ์ •๋ณด ๊ต๋ฅ˜ ๋ฐ ๊ต์œก

    • ๋ฐ˜๋ ค๋™๋ฌผ์˜ ๊ฑด๊ฐ•, ํ›ˆ๋ จ, ์˜์–‘ ๋“ฑ ๋‹ค์–‘ํ•œ ์ฃผ์ œ์— ๋Œ€ํ•œ ์œ ์šฉํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์‹์„ ์Œ“๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๋Œ๋ด„ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ ค๋™๋ฌผ์˜ ๋ณต์ง€๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.
  • 3. ์ด๋ฒคํŠธ ๋ฐ ํ™œ๋™ ์ง€์›

    • ๋ฐ˜๋ ค๋™๋ฌผ ๊ด€๋ จ ๋‹ค์–‘ํ•œ ์˜จ๋ผ์ธ ๋ฐ ์˜คํ”„๋ผ์ธ ์ด๋ฒคํŠธ๋ฅผ ๊ธฐํšํ•˜๊ณ  ์ง€์›ํ•˜์—ฌ, ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฐธ์—ฌ๋ฅผ ์œ ๋„ํ•˜๊ณ , ์‚ฌ์šฉ์ž๋“ค์ด ๋”์šฑ ํ™œ๋ฐœํžˆ ํ™œ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ™œ์„ฑํ™”๋ฅผ ๋„๋ชจํ•ฉ๋‹ˆ๋‹ค.
  • 4. ์ „๋ฌธ๊ฐ€, ๊ธฐ์—…๊ณผ์˜ ์—ฐ๊ณ„

    • ์ˆ˜์˜์‚ฌ, ํ›ˆ๋ จ์‚ฌ, ๊ด€๋ จ ๊ธฐ์—… ๋“ฑ๊ณผ ํ˜‘๋ ฅํ•˜์—ฌ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋ฌธ์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉ์ž๋“ค์ด ์ „๋ฌธ๊ฐ€์™€ ์ง์ ‘ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ๋งˆ๋ จํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๊ณ , ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์œ ์ตํ•œ ์ž์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1.2 ๊ธฐ๋Šฅ

  • 1. ๋ฉ”์ธํŽ˜์ด์ง€

    • ํŽ˜์ด์ง€ ์ œ๋ชฉ๊ณผ ๋ธ”๋กœ๊ทธ ์ž…์žฅํ•˜๊ธฐ ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
    • ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • 2. ํšŒ์›๊ฐ€์ž…

    • ํšŒ์›๊ฐ€์ž…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ’์€ id(email), password์ž…๋‹ˆ๋‹ค.
  • 3. ๋กœ๊ทธ์ธ

    • ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ’์€ id(email), password์ž…๋‹ˆ๋‹ค.
  • 4. ํšŒ์› ํ”„๋กœํ•„

    • ํ”„๋กœํ•„ ๋ฐ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ˆ˜์ •, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋‹‰๋„ค์ž„์ด ์žˆ์œผ๋ฉฐ, ๋ธ”๋กœ๊ทธ ํ™œ๋™์€ ๋‹‰๋„ค์ž„์œผ๋กœ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • 5. ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ

    • ๋กœ๊ทธ์ธ์„ ํ•œ ์œ ์ €๋งŒ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ž‘์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ด ์ €์žฅ๋˜์–ด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์— ๋ณด์ž…๋‹ˆ๋‹ค.
    • ์‚ฌ์ง„ ์—…๋กœ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ์ˆ˜ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • 6. ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก

    • ๋ชจ๋“  ์‚ฌ์šฉ์ž๋“ค์ด(๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž ํฌํ•จ) ๊ฒŒ์‹œํ•œ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€๋“ค์˜ ์ œ๋ชฉ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ €์ž, ์นดํ…Œ๊ณ ๋ฆฌ, ํƒœ๊ทธ, ์กฐํšŒ์ˆ˜๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ž‘์„ฑ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ •๋ ฌ๋˜๋ฉฐ, ์ตœ์‹  ๊ธ€์ด ๊ฐ€์žฅ ๋จผ์ € ๋ณด์ด๊ฒŒ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • 7. ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ

    • ๊ฒŒ์‹œ๊ธ€์˜ ์ œ๋ชฉ/๋‚ด์šฉ์„ ๋ณด๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€์˜ ์นดํ…Œ๊ณ ๋ฆฌ, ํƒœ๊ทธ, ์กฐํšŒ์ˆ˜, ์ €์ž(๋‹‰๋„ค์ž„)์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 8. ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •

    • ๋กœ๊ทธ์ธ์„ ํ•œ ์œ ์ €๋งŒ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ณธ์ธ์˜ ๊ฒŒ์‹œ๊ธ€์ด ์•„๋‹ˆ๋ผ๋ฉด ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€์˜ ์ œ๋ชฉ ๋˜๋Š” ๋‚ด์šฉ์„ ์ˆ˜์ • ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ˆ˜์ • ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ˆ˜์ •๋œ ๋‚ด์šฉ์€ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ/์ƒ์„ธ๋ณด๊ธฐ์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
  • 9. ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ

    • ๋กœ๊ทธ์ธ์„ ํ•œ ์œ ์ €๋งŒ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ณธ์ธ์˜ ๊ฒŒ์‹œ๊ธ€์ด ์•„๋‹ˆ๋ผ๋ฉด ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฒŒ์‹œ๊ธ€์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
    • ์‚ญ์ œ๋ฅผ ์™„๋ฃŒํ•œ ์ดํ›„์— ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.
    • ์‚ญ์ œ๋œ ๊ฒŒ์‹œ๊ธ€์€ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ/์ƒ์„ธ๋ณด๊ธฐ์—์„œ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • 10. ๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰

    • ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํŠน์ •ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ, ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ฒŒ์‹œ๊ธ€์„ ์ฐพ์•„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒ€์ƒ‰ํ•œ ๊ฒŒ์‹œ๋ฌผ์€ ์‹œ๊ฐ„์ˆœ์— ๋”ฐ๋ผ ์ •๋ ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๋ฐฐํฌ URL

2.1 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

์šด์˜ ์ฒด์ œ: Windows
Python ๋ฒ„์ „: Python 3.12.5
Django ๋ฒ„์ „: Django 5.1

IDE/์ฝ”๋“œ ํŽธ์ง‘๊ธฐ: VS Code
๊ฐ€์ƒ ํ™˜๊ฒฝ: venv (Python์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๊ด€๋ฆฌ ๋„๊ตฌ)
๋ฒ„์ „ ๊ด€๋ฆฌ: GitHub
์ƒ์„ฑํ˜• AI: ChatGPT, Claude

2.2 URL ๊ตฌ์กฐ(๋ชจ๋†€๋ฆฌ์‹)

  • Main ์•ฑ URLs
URL ํŒจํ„ด View ์ด๋ฆ„ ์„ค๋ช…
admin/ admin.site.urls ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€
'' include('posts.urls') posts URL ํฌํ•จ
accounts/ include('accounts.urls') accounts URL ํฌํ•จ
  • Accounts ์•ฑ URLs
URL ํŒจํ„ด View ์ด๋ฆ„ ์„ค๋ช…
signup/ SignupView ์œ ์ € ํšŒ์›๊ฐ€์ž…
login/ CustomLoginView ์œ ์ € ๋กœ๊ทธ์ธ
logout/ CustomLogoutView ์œ ์ € ๋กœ๊ทธ์•„์›ƒ
profile/ ProfileView ์œ ์ € ํ”„๋กœํ•„ ์—ด๋žŒ
profile/edit/ EditProfileView ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ •
password/change/ ChangePasswordView ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ •
  • Posts App URLs
URL ํŒจํ„ด View ์ด๋ฆ„ ์„ค๋ช…
'' home Home page
post/new/ PostCreateView ์ƒˆ ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ(๋กœ๊ทธ์ธ ํ•„์š”)
post/<int:pk>/ PostDetailView ํŠน์ • ๊ฒŒ์‹œ๊ธ€ ์—ด๋žŒ
post/<int:pk>/edit/ PostUpdateView ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •(๋กœ๊ทธ์ธ ํ•„์š”, ๋ณธ์ธ ๊ธ€๋งŒ ๊ฐ€๋Šฅ)
post/<int:pk>/delete/ PostDeleteView ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ(๋กœ๊ทธ์ธ ํ•„์š”, ๋ณธ์ธ ๊ธ€๋งŒ ๊ฐ€๋Šฅ)
posts/ PostListView ๋ชจ๋“  ๊ฒŒ์‹œ๊ธ€์˜ ๋ฆฌ์ŠคํŠธ
category/<slug:category_slug>/ CategoryPostsView ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ
tag/<slug:tag_slug>/ TagPostsView ํƒœ๊ทธ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ
search/ SearchPostsView ๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰

3. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๊ฐœ๋ฐœ ์ผ์ •

3.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

๐Ÿ“ฆproject_root/
โ”œโ”€โ”€ ๐Ÿ“‚accounts/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œmigrations/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__init__.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œadmin.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œapps.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œforms.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œmodels.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œtests.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œurls.py
โ”‚   โ””โ”€โ”€ ๐Ÿ“œviews.py
โ”œโ”€โ”€ ๐Ÿ“‚media/
โ”œโ”€โ”€ ๐Ÿ“‚posts/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œmigrations/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__init__.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œadmin.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œapps.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œforms.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œmodels.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œtests.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œurls.py
โ”‚   โ””โ”€โ”€ ๐Ÿ“œviews.py
โ”œโ”€โ”€ ๐Ÿ“‚project/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ__init__.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œasgi.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œsettings.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œurls.py
โ”‚   โ””โ”€โ”€ ๐Ÿ“œwsgi.py
โ”œโ”€โ”€ ๐Ÿ“‚static/
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚images/
โ”‚       โ””โ”€โ”€ ๐Ÿ“œdefault_profile_picture.png
โ”œโ”€โ”€ ๐Ÿ“‚templates/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚accounts/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œchange_password.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œedit_profile.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œlogged_out.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œlogin.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œprofile.html
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“œsignup.html
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚posts/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œpost_confirm_delete.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œpost_detail.html
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“œpost_form.html
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“œpost_list.html
โ”‚   โ””โ”€โ”€ ๐Ÿ“œbase.html
โ”œโ”€โ”€ ๐Ÿ“œvenv/
โ”œโ”€โ”€ ๐Ÿ“œ.gitignore
โ”œโ”€โ”€ ๐Ÿ“œdb.sqlite3
โ”œโ”€โ”€ ๐Ÿ“œmanage.py
โ”œโ”€โ”€ ๐Ÿ“œREADME.md
โ””โ”€โ”€ ๐Ÿ“œrequirements.txt

3.2 ๊ฐœ๋ฐœ ์ผ์ •(WBS)

gantt
    title Django ๋ธ”๋กœ๊ทธ ํ”„๋กœ์ ํŠธ WBS
    dateFormat  YYYY-MM-DD
    axisFormat %m-%d
    
    section ํ”„๋กœ์ ํŠธ ์ค€๋น„
    ํ”„๋กœ์ ํŠธ ๊ธฐํš       :2023-08-26, 1d
    WBS ์ž‘์„ฑ            :2023-08-26, 1d
    ๊ธฐํš์„œ ์ดˆ์•ˆ ์ž‘์„ฑ     :2023-08-27, 1d
    
    section ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„
    ERD ์ž‘์„ฑ            :2023-08-27, 1d
    ๋ชจ๋ธ ์„ค๊ณ„           :2023-08-28, 1d
    
    section ๊ธฐ๋ณธ ๊ตฌ์กฐ ์„ค๊ณ„
    URL ์„ค๊ณ„            :2023-08-28, 1d
    ํ”„๋กœ์ ํŠธ ์…‹์—…       :2023-08-28, 4h
    ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ๊ตฌ์„ฑ    :2023-08-28, 4h
    
    section ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    ๋ฉ”์ธํŽ˜์ด์ง€          :2023-08-29, 4h
    ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ       :2023-08-29, 4h
    ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ:2023-08-29, 4h
    ๊ฒŒ์‹œ๊ธ€ CRUD ๊ธฐ๋Šฅ    :2023-08-29, 1d
    
    section ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    ๋Œ“๊ธ€ ๊ธฐ๋Šฅ           :2023-08-30, 6h
    ํƒœ๊ทธ ๋ฐ ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋Šฅ:2023-08-30, 6h
    ์ข‹์•„์š” ๋ฐ ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ:2023-08-30, 6h
    ์•Œ๋ฆผ ์‹œ์Šคํ…œ         :2023-08-30, 6h
    
    section ๋งˆ๋ฌด๋ฆฌ
    ์™€์ด์–ดํ”„๋ ˆ์ž„ ์ž‘์„ฑ   :2023-08-31, 4h
    ์•„ํ‚คํ…์ณ ์ž‘์„ฑ       :2023-08-31, 4h
    ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊น…    :2023-08-31, 4h
    ๊ธฐํš์„œ ๋งˆ๋ฌด๋ฆฌ       :2023-08-31, 2h
Loading

4. ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”

User ํ…Œ์ด๋ธ”

์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ œ์•ฝ ์กฐ๊ฑด ์„ค๋ช…
id INTEGER PRIMARY KEY, AUTOINCREMENT ์‚ฌ์šฉ์ž ๊ณ ์œ  ID (๊ธฐ๋ณธ ์ œ๊ณต ํ•„๋“œ)
nickname VARCHAR(50) UNIQUE, NOT NULL ์‚ฌ์šฉ์ž ๋‹‰๋„ค์ž„
email EMAIL UNIQUE, NOT NULL, INDEX ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ
profile_picture VARCHAR(100) NULL ํ”„๋กœํ•„ ์‚ฌ์ง„ (ํŒŒ์ผ ๊ฒฝ๋กœ)
is_staff BOOLEAN DEFAULT FALSE ๊ด€๋ฆฌ์ž์ธ์ง€ ์—ฌ๋ถ€
is_active BOOLEAN DEFAULT TRUE ํ™œ์„ฑํ™” ์—ฌ๋ถ€
is_superuser BOOLEAN DEFAULT FALSE ์Šˆํผ์œ ์ € ์—ฌ๋ถ€
date_joined DATETIME DEFAULT CURRENT_TIMESTAMP ๊ฐ€์ž…์ผ

Post ํ…Œ์ด๋ธ”

์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ œ์•ฝ ์กฐ๊ฑด ์„ค๋ช…
id INTEGER PRIMARY KEY, AUTOINCREMENT ๊ฒŒ์‹œ๋ฌผ ๊ณ ์œ  ID
title VARCHAR(200) NOT NULL ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉ
content TEXT NOT NULL ๊ฒŒ์‹œ๋ฌผ ๋‚ด์šฉ
created_at DATETIME DEFAULT CURRENT_TIMESTAMP ์ž‘์„ฑ์ผ
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ
author INTEGER FOREIGN KEY (AUTH_USER_MODEL) ์ž‘์„ฑ์ž ID
category INTEGER FOREIGN KEY (Category), NULL ์นดํ…Œ๊ณ ๋ฆฌ ID
tags ARRAY/JSON NULL ํƒœ๊ทธ (Django-tagging ์‚ฌ์šฉ)
image VARCHAR(100) NULL ์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ
views INTEGER DEFAULT 0 ์กฐํšŒ์ˆ˜

Category ํ…Œ์ด๋ธ”

์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ œ์•ฝ ์กฐ๊ฑด ์„ค๋ช…
id INTEGER PRIMARY KEY, AUTOINCREMENT ์นดํ…Œ๊ณ ๋ฆฌ ๊ณ ์œ  ID
name VARCHAR(100) UNIQUE, NOT NULL ์นดํ…Œ๊ณ ๋ฆฌ ์ด๋ฆ„
slug VARCHAR(100) UNIQUE, NOT NULL URL ์Šฌ๋Ÿฌ๊ทธ

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋ง(ERD)

erDiagram
    User ||--o{ Post : writes
    User ||--o{ Comment : makes
    User ||--o{ Like : gives
    User ||--o{ Bookmark : saves
    User ||--o{ Notification : receives
    Post ||--o{ Comment : has
    Post ||--o{ Like : receives
    Post ||--o{ Bookmark : has
    Post }o--|| Category : belongs_to
    Post }o--o{ Tag : has

    User {
        int id PK
        string email
        string nickname
        boolean is_staff
        boolean is_active
        boolean is_superuser
        datetime date_joined
        image profile_picture
    }

    Post {
        int id PK
        string title
        text content
        datetime created_at
        datetime updated_at
        int author FK
        int category FK
        int views
    }

    Category {
        int id PK
        string name
        string slug
    }

    Comment {
        int id PK
        text content
        datetime created_at
        datetime updated_at
        int author FK
        int post FK
        int parent FK
    }

    Like {
        int id PK
        int user FK
        int post FK
        datetime created_at
    }

    Bookmark {
        int id PK
        int user FK
        int post FK
        datetime created_at
    }

    Notification {
        int id PK
        string notification_type
        int recipient FK
        int actor FK
        string verb
        int target FK
        datetime created_at
        boolean is_read
    }

    Tag {
        int id PK
        string name
        string slug
    }

Loading

6. ์™€์ด์–ด ํ”„๋ ˆ์ž„

ํ”ผ๊ทธ๋งˆ ์™€์ด์–ดํ”„๋ ˆ์ž„

7. ๋ฉ”์ธ ๊ธฐ๋Šฅ

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ

ํ”„๋กœํ•„ ์ˆ˜์ • ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

ํ”„๋กœํ•„ ์ˆ˜์ • ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ ๋ฐ ํŽ˜์ด์ง€๋„ค์ด์…˜

๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ ๋ฐ ํŽ˜์ด์ง€๋„ค์ด์…˜

๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •

๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •

๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ

๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ

๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰

๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰

8. ์—๋Ÿฌ์™€ ์—๋Ÿฌ ํ•ด๊ฒฐ

  1. ๋กœ๊ทธ์•„์›ƒ ํŽ˜์ด์ง€ 405 ์—๋Ÿฌ
    • base.html์—์„œ ๋”ฐ๋กœ ์„ค์ •์„ ํ•˜์ง€ ์•Š์•„ GET ๋ฐฉ์‹ -> ์—๋Ÿฌ
    • POST ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

9. ํšŒ๊ณ 

์•„์ง Django๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ์— ์ต์ˆ™ํ•˜์ง€ ์•Š๊ณ , ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์ˆ˜ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋Š” ์ฃผ์–ด์ง„ ๊ธฐ๊ฐ„ ๋‚ด์— ๋๋‚ด์ง€ ๋ชปํ•˜๊ณ , ๊ธฐํš๋‹จ๊ณ„์—์„œ ์„ค๊ณ„ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ „๋ถ€ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด Django์—์„œ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜๋Š” ๊ณผ์ •๊ณผ ์›๋ฆฌ๋ฅผ ์„ธ์„ธํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ๋˜ Django๊ฐ€ ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์ด๋ฉฐ ๊ตฌ์กฐ๊ฐ€ ๋งค๋ ฅ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ๋˜๋Š” ์ข‹์€ ๊ธฐํšŒ์˜€์Šต๋‹ˆ๋‹ค. ์žฅ๊ณ ์˜ '๋งˆ๊ฐ๊ธฐ๊ฐ„์— ์ซ“๊ธฐ๋Š” ์ž๋“ค์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ' ๋ฌธ๊ตฌ๋ฅผ ์ƒˆ์‚ผ ์ง์ ‘ ์ฒดํ—˜ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์ด์˜€์Šต๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published