We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ํ๋ก์ ํธ๋ฅผ ๋๋ ค๋ณด๋, ๊ถ๊ธํ ์ ์ด ๋ช๊ฐ์ง ์์ผ์ ๊ฒ ๊ฐ์ ์ด์ ๋จ๊ฒจ๋ก๋๋ค. ์ดํดํ๋ ๋ฐ ์กฐ๊ธ์ด๋๋ง ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ด์!
๋ฒํผ์ ๋ง๋ค์ด์ฃผ๋ ค๋ฉด <a tag> ์์ style ์์ฑ์ ๋ฃ๊ฑฐ๋ div ๋ฑ์ผ๋ก ๊ฐ์ธ์ฃผ์ด ์คํ์ผ์ ์ ํ๋ฉด ์ฌ์์. <a tag>๋ Anchor(์ต์ปค)์ ์ฝ์ด์ด๊ณ , ๋ป์ด๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ด์. href ์์ฑ์ ํตํด ์น ํ์ด์ง์ ์น ํ์ด์ง๋ฅผ ์๋ก ์ฐ๊ฒฐํด์ฃผ์ฃ . ์ฆ, ์ค์์จ๊ฐ update ํน์ delete๋ฅผ ์ด์ฉํด ํ์ฌ ํ์ด์ง(detail page)์์ ๋ค๋ฅธ ์น ํ์ด์ง(edit, delete page)๋ก ๋์ด๊ฐ๋ ๊ฒ์ ๊ตฌํํ๊ณ ์ถ๋ค๋ฉด, <a tag>๋ฅผ ์ฐ๋๊ฒ ๋ง์์. ์ด๋ป๊ฒ ๊พธ๋ฏธ๋ฉด ์ข์์ง์ ๋ํด์๋ ๋ค์ HTML, CSS, JS ์ธ์ ์์ ์กฐ๊ธ ๋ ์์ธํ ๋ฐฐ์๋ด์ค! ๊ตฌ๊ธ๋ง์ ํตํด ์ค์ค๋ก ํ์ตํด ๋ณด์ ๋ ์ข์ต๋๋ค.
๋ฒํผ
<a tag>
href
update
delete
๊ทธ๋ผ <button tag>๋ ์ด๋์ ์ฌ์ฉํ๋ ์ง๊ฐ ๊ถ๊ธํ์ค๊ฑฐ์์. ๋ฒํผ ํ๊ทธ๋ ํด๋ฆญํ ์ ์๋ ๋ฒํผ์ ๋ง๋ค ๋ ์ฌ์ฉํฉ๋๋ค. onclick event (์ฌ์ฉ์๊ฐ ํด๋ฆญ์ ํตํด ์ด๋ค ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ)๊ฐ ํ์ํ ์ํฉ์์ ๋ง์ด ์ฌ์ฉ์ด ๋ผ์. ๊ฐ๋จํ, ๋งํฌ๋ฅผ ํตํด ๋ค๋ฅธ ํ์ด์ง๋ก ๋์ด๊ฐ์ผ ํ ๋์๋ <a tag>๋ฅผ, ๋จ์ํ ํด๋ฆญ ์ด๋ฒคํธ๊ฐ ํ์ํ ๋์๋ <button tag>๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค.
<button tag>
onclick event
์ฌ์ค ๋ฒํผ๊ณผ ์ต์ปคํ๊ทธ๋ ์์ฃผ ํผ์ฉ๋์ด ์ฐ์ฌ์. ๊ทธ๋ฐ๋ฐ ๋ฒํผํ๊ทธ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๊ธฐ๋ณธ ์ ์ฉ๋์ด์๋ ์คํ์ผ์ด ๋ค๋ฅด๊ธฐ๋ ํ๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐ์ ํ ๋, ๊ทธ๋ฐ ์คํ์ผ๋ง์ ๋ฎ์ด์์ฐ๊ธฐ๊ฐ ๊ท์ฐฎ์์ ๋ฒํผ์ด ํ์ํ ์๊ฐ์๋ ์ต์ปคํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. (์ ์ดํด๊ฐ ์ ๊ฐ์ค ๊ฒ ๊ฐ์์ ์ฌ์ง ์ฒจ๋ถํด๋ด์!)
์ฐ๋ฆฌ๊ฐ Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋์ง, ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋์ง, IE๋ฅผ ์ฌ์ฉํ๋ ์ง์ ๋ฐ๋ผ ๊ธฐ๋ณธ ๋ฒํผ์ ํ์์ด ๋ค๋ฅด๋ค๋ ๋ป์ด์์.
blog.id๊ฐ ๋ญ๊น์? ์ฐ๋ฆฌ๊ฐ ๋ธ๋ก๊ทธ์ ๊ธ์ ์์ฑํ๋ฉด, ๊ทธ ์์ฑ๋ ๊ธ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋, Django์์๋ ์๋์ผ๋ก primary key๋ฅผ ์์ฑํด์ค๋๋ค. primary key๋ผ๋๊ฑด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ์๋ณํ๊ธฐ ์ํ ํค๋ผ๊ณ ๋ณด์๋ฉด ๋ผ์. Django์์๋ id๋ผ๋ column์ ๋ง๋ค์ด ๊ทธ id๊ฐ์ primary key, ์ฆ ์ ๋ณด๋ฅผ ์๋ณํ๊ธฐ ์ํ ํค๋ก ์ฌ์ฉํ๋ ๊ฑฐ์์.
๊ทธ๋ผ primary key ๊ฐ ํ์ํ ์ด์ ๋ฅผ ์๊ฐํด ๋ด ์๋ค. ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ๋ณด๊ฐ ์์ด๊ฒ ๋ผ์. ๊ทธ๋ฐ๋ฐ ์ด ๋ฐ์ดํฐ๊ฐ ์ ์ ์์ฌ์ ๋ช๋ง, ๋ช์ญ๋ง๊ฐ๊ฐ ๋์ด๋ฒ๋ฆฌ๋ฉด ๊ธ์ ์ ๋ชฉ์ด๋ ๋ด์ฉ ๋ฑ์ด ๋๊ฐ์ ๊ฒ์ด ์๊ธธ ์๋ ์๊ฒ ์ฃ ? ๊ทธ๋ด ๋ ์ด๋ค ๊ธ์ด ์ด๋ค ๊ธ์ธ์ง ๊ตฌ๋ถ์ ํ ํ์๊ฐ ์์๊ฑฐ์์. ์ด๋ด๋ ๊ตฌ๋ถํ๊ธฐ ์ํ๊ฒ primary key ๋๋๋ค.
์๋ ์คํฌ๋ฆฐ์ท์ ์ค์์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ๋งจ ์์ ์ค์์จ๊ฐ ๋ง๋ค์ง ์์ id column์ด ๋ถ์ด์๋๊ฒ ๋ณด์ด์์ฃ ? ์ด๋ฐ id column์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ์ฐ๋ฆฌ๊ฐ {{blog.title}}์ ๊ฐ์ ธ์ค๋ ๊ฒ์ฒ๋ผ, {{blog.id}}๋ฅผ ํตํด id ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฑฐ์์. 1,3,5,6 ๋ฒ์งธ id ๊ฐ์ด ์๋๊ฒ์ ์ค์์จ๊ฐ ์ค๊ฐ์ ๊ธ์ ๋ง๋ค๊ณ , ์ง์ ๊ธฐ ๋๋ฌธ์ด์์. ์ด๋ค ํ์์ธ์ง ์กฐ๊ธ ๊ฐ์ด ์ค์ จ์ผ๋ฉด ์ข๊ฒ ๋ค์!
{{blog.title}}
{{blog.id}}
from ๊ณผ import๋ ํ์ด์ฌ ๋ฌธ๋ฒ ์ค ํ๋์ ๋๋ค. ๋ชจ๋์ ๋ํ ์ดํด๊ฐ ์์ผ๋ฉด ์กฐ๊ธ ๋ ์๊ธฐ ์ฌ์ด๋ฐ, ๋ชจ๋ฅด๋ ๊ฒ์ ๊ฐ์ ํ๊ณ ์ค๋ช ํด ๋๋ฆด๊ฒ์! ๋ชจ๋์ ์ฝ๊ฒ ๋งํด์ ํ๋์ ํ์ด์ฌ ํ์ผ(.pyํ์์ ํ์ผ)์ ๋๋ค. ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํ๋์ ํ์ด์ฌ ํ์ผ์ ๋ฃ์ด๋๊ณ , import๋ฅผ ์ด์ฉํด ๊ทธ ํ์ผ์ ํธ์ถํด ๋ค๋ฅธ ํ์ด์ฌ ํ์ผ์์ ์ฌ์ฉ์ ํ๋๊ฑฐ์์.
๋ชจ๋
import
์๋ฅผ ๋ค์ด, ์ค์์จ๊ฐ views.py์์ from .models import Blog๋ฅผ ์จ์ฃผ์ จ๋๋ฐ, ์ด ์ฝ๋๋ฅผ ํด์ํ๋ฉด ์ด ํ์ด์ง(views.py)๊ฐ ์๋ ๋๋ ํ ๋ฆฌ์ ์๋ models.py๋ฅผ ๋ถ๋ฌ์์, ๊ทธ ์์ Blog ๋ชจ๋ธ์ ์ฌ๊ธฐ์์ ํธ์ถํด์ ์ฐ๊ฒ ๋ค~! ๋ผ๋ ๋ป์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ธ์ Blog๋ฅผ ๋ง๋ค์ด ์คฌ์ง๋ง, ๊ทธ๊ฑธ ์ฌ์ฉํ๊ธฐ ์ํด์ ํ์ฌ ํ์ด์ง์์ ํธ์ถ์ ํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
views.py
from .models import Blog
models.py
Blog
๊ทธ๋ผ ์ด์ ์ด๊ฑด ๋ ๋ญ์ง ๊ถ๊ธํดํ์ค ์๋ ์์ ๊ฒ ๊ฐ์์! from django.shortcuts import get_object_or_404 Django์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๋ด์ฅ ํจ์๋ค์ด ์์ต๋๋ค. get_object_or_404๋ Django์ ๋ด์ฅ ํจ์ ์ค ํ๋์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋๋ง๋ค ์ด๋ ๊ฒ ํธ์ถํด์ ์ฌ์ฉ์ ํ๋ฉด ๋ผ์.
from django.shortcuts import get_object_or_404
์ค์์จ ํํ์ด์ง๋ฅผ ๋ณด๋, ์ผ๋จ ์ ๊ธ์ ์ฐ๊ณ , ์ ์ฅํ ๋์ author๊ฐ ์ ์ฅ์ด ์๋๋ ๋ฌธ์ ๊ฐ ์์์ด์. new ํ์ด์ง์์ input์ ํตํด request๋ฅผ ๋ณด๋ผ ๋ ๋ฌธ์ ๊ฐ ์์ผ๋, ์ ์ฅ๋ ๋์ง ์๋๊ฑฐ๊ฒ ์ฃ ? ํ์ง๋ง new ํ์ด์ง๋ ์ ์์ฑํด ์ฃผ์ จ์ด์. ๊ทธ๋ผ form ํ๊ทธ๋ฅผ ํตํด action์ด ์ํ๋ ๋ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ views.py๋ฅผ ๋ณด๋ createํจ์์์ author๋ฅผ ๋ง๋ค์ด์ฃผ์ง ์์ผ์ จ๋๋ผ๊ตฌ์! edit ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๊ตฌ์. ๊ทธ๋ฆฌ๊ณ edit ํ์ด์ง(html)์์๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ, input์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค๋ณด๋ <input name="title">์ด ๋๋ฒ ๋ฐ๋ณต๋๊ณ ์์์ด์. ๊ณ ์น ์ฝ๋๋ฅผ ๋ค๋ฅธ ๋ธ๋์น์ ์ฌ๋ ค Pull Request๋ฅผ ๋จ๊ฒจ๋ํ ๋, ์ด๋ค ๋ถ๋ถ์ด ๋ฐ๋์ด์ author๊ฐ ์ ๋ณด์ด๊ฒ ๋๋๊ฑด์ง ํ๋ฆ์ ์ดํดํด ๋ณด์ธ์.
input
request
form ํ๊ทธ
action
create
edit
<input name="title">
The text was updated successfully, but these errors were encountered:
yuna0102
No branches or pull requests
๐๊ถ๊ธ์ฆ์ ๋ํ ๋ถ์ฐ์ค๋ช ์ ๋๋ค.
โ๏ธ1. Button, Anchor Tag
๋ฒํผ
์ ๋ง๋ค์ด์ฃผ๋ ค๋ฉด<a tag>
์์ style ์์ฑ์ ๋ฃ๊ฑฐ๋ div ๋ฑ์ผ๋ก ๊ฐ์ธ์ฃผ์ด ์คํ์ผ์ ์ ํ๋ฉด ์ฌ์์.<a tag>
๋ Anchor(์ต์ปค)์ ์ฝ์ด์ด๊ณ , ๋ป์ด๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ด์.href
์์ฑ์ ํตํด ์น ํ์ด์ง์ ์น ํ์ด์ง๋ฅผ ์๋ก ์ฐ๊ฒฐํด์ฃผ์ฃ . ์ฆ, ์ค์์จ๊ฐupdate
ํน์delete
๋ฅผ ์ด์ฉํด ํ์ฌ ํ์ด์ง(detail page)์์ ๋ค๋ฅธ ์น ํ์ด์ง(edit, delete page)๋ก ๋์ด๊ฐ๋ ๊ฒ์ ๊ตฌํํ๊ณ ์ถ๋ค๋ฉด,<a tag>
๋ฅผ ์ฐ๋๊ฒ ๋ง์์. ์ด๋ป๊ฒ ๊พธ๋ฏธ๋ฉด ์ข์์ง์ ๋ํด์๋ ๋ค์ HTML, CSS, JS ์ธ์ ์์ ์กฐ๊ธ ๋ ์์ธํ ๋ฐฐ์๋ด์ค! ๊ตฌ๊ธ๋ง์ ํตํด ์ค์ค๋ก ํ์ตํด ๋ณด์ ๋ ์ข์ต๋๋ค.๊ทธ๋ผ
<button tag>
๋ ์ด๋์ ์ฌ์ฉํ๋ ์ง๊ฐ ๊ถ๊ธํ์ค๊ฑฐ์์. ๋ฒํผ ํ๊ทธ๋ ํด๋ฆญํ ์ ์๋ ๋ฒํผ์ ๋ง๋ค ๋ ์ฌ์ฉํฉ๋๋ค.onclick event
(์ฌ์ฉ์๊ฐ ํด๋ฆญ์ ํตํด ์ด๋ค ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ)๊ฐ ํ์ํ ์ํฉ์์ ๋ง์ด ์ฌ์ฉ์ด ๋ผ์. ๊ฐ๋จํ, ๋งํฌ๋ฅผ ํตํด ๋ค๋ฅธ ํ์ด์ง๋ก ๋์ด๊ฐ์ผ ํ ๋์๋<a tag>
๋ฅผ, ๋จ์ํ ํด๋ฆญ ์ด๋ฒคํธ๊ฐ ํ์ํ ๋์๋<button tag>
๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค.์ฌ์ค ๋ฒํผ๊ณผ ์ต์ปคํ๊ทธ๋ ์์ฃผ ํผ์ฉ๋์ด ์ฐ์ฌ์. ๊ทธ๋ฐ๋ฐ ๋ฒํผํ๊ทธ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๊ธฐ๋ณธ ์ ์ฉ๋์ด์๋ ์คํ์ผ์ด ๋ค๋ฅด๊ธฐ๋ ํ๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐ์ ํ ๋, ๊ทธ๋ฐ ์คํ์ผ๋ง์ ๋ฎ์ด์์ฐ๊ธฐ๊ฐ ๊ท์ฐฎ์์ ๋ฒํผ์ด ํ์ํ ์๊ฐ์๋ ์ต์ปคํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. (์ ์ดํด๊ฐ ์ ๊ฐ์ค ๊ฒ ๊ฐ์์ ์ฌ์ง ์ฒจ๋ถํด๋ด์!)
์ฐ๋ฆฌ๊ฐ Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋์ง, ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋์ง, IE๋ฅผ ์ฌ์ฉํ๋ ์ง์ ๋ฐ๋ผ ๊ธฐ๋ณธ ๋ฒํผ์ ํ์์ด ๋ค๋ฅด๋ค๋ ๋ป์ด์์.
โ๏ธ2. Primary Key, ID
blog.id๊ฐ ๋ญ๊น์? ์ฐ๋ฆฌ๊ฐ ๋ธ๋ก๊ทธ์ ๊ธ์ ์์ฑํ๋ฉด, ๊ทธ ์์ฑ๋ ๊ธ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋, Django์์๋ ์๋์ผ๋ก primary key๋ฅผ ์์ฑํด์ค๋๋ค. primary key๋ผ๋๊ฑด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ์๋ณํ๊ธฐ ์ํ ํค๋ผ๊ณ ๋ณด์๋ฉด ๋ผ์. Django์์๋ id๋ผ๋ column์ ๋ง๋ค์ด ๊ทธ id๊ฐ์ primary key, ์ฆ ์ ๋ณด๋ฅผ ์๋ณํ๊ธฐ ์ํ ํค๋ก ์ฌ์ฉํ๋ ๊ฑฐ์์.
๊ทธ๋ผ primary key ๊ฐ ํ์ํ ์ด์ ๋ฅผ ์๊ฐํด ๋ด ์๋ค. ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ๋ณด๊ฐ ์์ด๊ฒ ๋ผ์. ๊ทธ๋ฐ๋ฐ ์ด ๋ฐ์ดํฐ๊ฐ ์ ์ ์์ฌ์ ๋ช๋ง, ๋ช์ญ๋ง๊ฐ๊ฐ ๋์ด๋ฒ๋ฆฌ๋ฉด ๊ธ์ ์ ๋ชฉ์ด๋ ๋ด์ฉ ๋ฑ์ด ๋๊ฐ์ ๊ฒ์ด ์๊ธธ ์๋ ์๊ฒ ์ฃ ? ๊ทธ๋ด ๋ ์ด๋ค ๊ธ์ด ์ด๋ค ๊ธ์ธ์ง ๊ตฌ๋ถ์ ํ ํ์๊ฐ ์์๊ฑฐ์์. ์ด๋ด๋ ๊ตฌ๋ถํ๊ธฐ ์ํ๊ฒ primary key ๋๋๋ค.
์๋ ์คํฌ๋ฆฐ์ท์ ์ค์์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ๋งจ ์์ ์ค์์จ๊ฐ ๋ง๋ค์ง ์์ id column์ด ๋ถ์ด์๋๊ฒ ๋ณด์ด์์ฃ ? ์ด๋ฐ id column์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ์ฐ๋ฆฌ๊ฐ
{{blog.title}}
์ ๊ฐ์ ธ์ค๋ ๊ฒ์ฒ๋ผ,{{blog.id}}
๋ฅผ ํตํด id ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฑฐ์์. 1,3,5,6 ๋ฒ์งธ id ๊ฐ์ด ์๋๊ฒ์ ์ค์์จ๊ฐ ์ค๊ฐ์ ๊ธ์ ๋ง๋ค๊ณ , ์ง์ ๊ธฐ ๋๋ฌธ์ด์์. ์ด๋ค ํ์์ธ์ง ์กฐ๊ธ ๊ฐ์ด ์ค์ จ์ผ๋ฉด ์ข๊ฒ ๋ค์!โ๏ธ3. From, Import
from ๊ณผ import๋ ํ์ด์ฌ ๋ฌธ๋ฒ ์ค ํ๋์ ๋๋ค.
๋ชจ๋
์ ๋ํ ์ดํด๊ฐ ์์ผ๋ฉด ์กฐ๊ธ ๋ ์๊ธฐ ์ฌ์ด๋ฐ, ๋ชจ๋ฅด๋ ๊ฒ์ ๊ฐ์ ํ๊ณ ์ค๋ช ํด ๋๋ฆด๊ฒ์! ๋ชจ๋์ ์ฝ๊ฒ ๋งํด์ ํ๋์ ํ์ด์ฌ ํ์ผ(.pyํ์์ ํ์ผ)์ ๋๋ค. ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํ๋์ ํ์ด์ฌ ํ์ผ์ ๋ฃ์ด๋๊ณ ,import
๋ฅผ ์ด์ฉํด ๊ทธ ํ์ผ์ ํธ์ถํด ๋ค๋ฅธ ํ์ด์ฌ ํ์ผ์์ ์ฌ์ฉ์ ํ๋๊ฑฐ์์.์๋ฅผ ๋ค์ด, ์ค์์จ๊ฐ
views.py
์์from .models import Blog
๋ฅผ ์จ์ฃผ์ จ๋๋ฐ, ์ด ์ฝ๋๋ฅผ ํด์ํ๋ฉด ์ด ํ์ด์ง(views.py)๊ฐ ์๋ ๋๋ ํ ๋ฆฌ์ ์๋models.py
๋ฅผ ๋ถ๋ฌ์์, ๊ทธ ์์Blog
๋ชจ๋ธ์ ์ฌ๊ธฐ์์ ํธ์ถํด์ ์ฐ๊ฒ ๋ค~! ๋ผ๋ ๋ป์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ธ์ Blog๋ฅผ ๋ง๋ค์ด ์คฌ์ง๋ง, ๊ทธ๊ฑธ ์ฌ์ฉํ๊ธฐ ์ํด์ ํ์ฌ ํ์ด์ง์์ ํธ์ถ์ ํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.๊ทธ๋ผ ์ด์ ์ด๊ฑด ๋ ๋ญ์ง ๊ถ๊ธํดํ์ค ์๋ ์์ ๊ฒ ๊ฐ์์!
from django.shortcuts import get_object_or_404
Django์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๋ด์ฅ ํจ์๋ค์ด ์์ต๋๋ค. get_object_or_404๋ Django์ ๋ด์ฅ ํจ์ ์ค ํ๋์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋๋ง๋ค ์ด๋ ๊ฒ ํธ์ถํด์ ์ฌ์ฉ์ ํ๋ฉด ๋ผ์.โ๏ธ4. Author Issue
์ค์์จ ํํ์ด์ง๋ฅผ ๋ณด๋, ์ผ๋จ ์ ๊ธ์ ์ฐ๊ณ , ์ ์ฅํ ๋์ author๊ฐ ์ ์ฅ์ด ์๋๋ ๋ฌธ์ ๊ฐ ์์์ด์. new ํ์ด์ง์์
input
์ ํตํดrequest
๋ฅผ ๋ณด๋ผ ๋ ๋ฌธ์ ๊ฐ ์์ผ๋, ์ ์ฅ๋ ๋์ง ์๋๊ฑฐ๊ฒ ์ฃ ? ํ์ง๋ง new ํ์ด์ง๋ ์ ์์ฑํด ์ฃผ์ จ์ด์. ๊ทธ๋ผform ํ๊ทธ
๋ฅผ ํตํดaction
์ด ์ํ๋ ๋ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ views.py๋ฅผ ๋ณด๋create
ํจ์์์ author๋ฅผ ๋ง๋ค์ด์ฃผ์ง ์์ผ์ จ๋๋ผ๊ตฌ์!edit
ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๊ตฌ์. ๊ทธ๋ฆฌ๊ณ edit ํ์ด์ง(html)์์๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ, input์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค๋ณด๋<input name="title">
์ด ๋๋ฒ ๋ฐ๋ณต๋๊ณ ์์์ด์. ๊ณ ์น ์ฝ๋๋ฅผ ๋ค๋ฅธ ๋ธ๋์น์ ์ฌ๋ ค Pull Request๋ฅผ ๋จ๊ฒจ๋ํ ๋, ์ด๋ค ๋ถ๋ถ์ด ๋ฐ๋์ด์ author๊ฐ ์ ๋ณด์ด๊ฒ ๋๋๊ฑด์ง ํ๋ฆ์ ์ดํดํด ๋ณด์ธ์.The text was updated successfully, but these errors were encountered: