๋ชฉ์ฐจ
ํ์ด์ง ์ด๋
๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ request๋ฅผ ๋ฐ๊ณ ์ ์ ํ url์ ์ฐ๊ฒฐ์์ผ์ฃผ์ด์ผ ํ๋ค.
urls.py)
- urlํจํด์ path๋ฅผ ์ถ๊ฐํด์ค๋ค.
path('url๊ฒฝ๋ก', views.ํจ์๋ช
, name='ํ
ํ๋ฆฟ ํ๊ทธ์ ์ฐ์ผ ์ด๋ฆ')
์์
path('post_list', views.post_list, name='post_list'),
'main๋ฃจํธ/post_lis't๊ฐ url ๊ฒฝ๋ก๊ฐ ๋๋ค.
views.py)
request ๋ฑ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ ๋ฐ์ ๊ฒ์ ์ฒ๋ฆฌํ ํ
render, redirect ๋ฑ์ ํจ์๋ฅผ ํธ์ถ, ๋ฐํํ๋ค.
template)
ํ ํ๋ฆฟ์์๋ ํ ํ๋ฆฟ ํ๊ทธ๋ฅผ ์ด์ฉํด ํธ์ถํ๋ค.
๋ด์ฉ์ urls.py์ name์ ์ ์๋ ์ด๋ฆ์ ์ด์ฉํ๋ค.
<a href="{% url 'post_list' %}">...</a>
์์ธ ํ์ด์ง
pk(Primary Key)
DB์ ๊ฐ ๋ ์ฝ๋๋ฅผ ์๋ณํ๋ ๊ธฐ๋ณธ ํค์ด๋ค.
๋ชจ๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ์๋์ผ๋ก 'pk'๋ผ๋ ํ๋๋ฅผ ์์ฑํ๊ณ
๊ฐ ๊ฐ์ฒด๋ง๋ค 1์ฉ ์ฆ๊ฐํ๋ฉฐ ๊ฐ์ด ๋ถ์ฌ๋๋ค.
์ด๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค.
(๊ฐ์ฒด.pk๋ก ์ ๊ทผ๊ฐ๋ฅ)
์์
urls.py)
path('post/<int:pk>/', views.post_detail, name='post_detail'),
์ ๋ฌ ๋ฐ์ ๊ฐ์ผ๋ก url๋ฃจํธ๋ฅผ ๊ตฌ์ฑํ๋ค.
views.py)
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
urls.py์์ ์ธ์๋ก ์ ๋ฌ๋ pk๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด์ ์ ๊ทผํ ๋ค, template์ ์ ๋ฌํ๋ค.
template)
<a href="{% url 'post_detail' pk=post.pk %}">...</a>
pk๊ฐ์ urls.py๋ก ์ ๋ฌํ๋ค.
'๐ | WEB DEV > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Django_์ฅ๊ณ ๋ถ์๊ธฐ (7)_login, logout (0) | 2022.06.30 |
---|---|
Django_์ฅ๊ณ ๋ถ์๊ธฐ (6)_CRUD (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (4)_ํ ํ๋ฆฟ ๋ฌธ๋ฒ (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (3)_QuerySet (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (2)_MVT ์์ฑ (0) | 2022.06.30 |
๋๊ธ