๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Python Programming/Frameworks

< django - 7 >

by A Lim Han 2022. 8. 1.

7. URL ํ•˜๋“œ์ฝ”๋”ฉ + URL ๋ณ„์นญ + URL ๋„ค์ž„์ŠคํŽ˜์ด์Šค

 

 

 

# URL ํ•˜๋“œ์ฝ”๋”ฉ

: ํ•ด๋‹น URL์— ๋Œ€ํ•œ ์‹ค์ œ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, URL ๋งํฌ์˜ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ( URL ๋ฆฌํŒฉํ† ๋ง ) ํ…œํ”Œ๋ฆฟ์—์„œ ์“ด ๋ชจ๋“  URL๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ์•„ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ  -->  ๋งํฌ ์ฃผ์†Œ๊ฐ€ 1๋Œ€ 1๋กœ ๋งคํ•‘๋œ ์ƒํƒœ์ธ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ

 

 

 

 

# URL ๋ณ„์นญ

: URL ๋งคํ•‘์— name ์†์„ฑ์„ ๋ถ€์—ฌํ•˜๋ฉด ๋งํฌ ์ฃผ์†Œ ๋Œ€์‹  ๋ณ„์นญ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

- pybo/urls.py ํŒŒ์ผ์„ ์•„๋ž˜ ๊ฐ™์ด ์ˆ˜์ •

+ http://localhost:8000/pybo/ URL์€ index, http://localhost:8000/pybo/2์™€ ๊ฐ™์€ URL์—๋Š” detail ์ด๋ผ๋Š” ๋ณ„์นญ ๋ถ€์—ฌ

 

 

 

 

# ํ…œํ”Œ๋ฆฟ์—์„œ์˜ URL ๋ณ„์นญ ์‚ฌ์šฉ

- ์œ„์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ pybo/urls.py ํŒŒ์ผ์— ๋ณ„์นญ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํ…œํ”Œ๋ฆฟ์—์„œ ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

+ ํ•˜๋“œ์ฝ”๋”ฉ ๋˜์–ด ์žˆ๋˜ /pybo/{{ question.id }} ๋งํฌ๋ฅผ {% url 'detail' question.id %}๋กœ ๋ณ€๊ฒฝํ•จ

 

+ question.id    -->    URL ๋งคํ•‘์— ์ •์˜๋œ <int:question_id>์— ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ฐ’

 

+ ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ „๋‹ฌ

ํ•œ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ 2๊ฐœ ์ด์ƒ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ
{% url 'detail' question.id %}

+ ์•„๋ž˜์ฒ˜๋Ÿผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ช…์ด๋ž‘ ๊ฐ™์ด ์จ๋„ ๋จ
{% url 'detail' question_id=question.id %}
- ์•„๋ž˜์ฒ˜๋Ÿผ ๊ณต๋ฐฑ๋ฌธ์ž ์ดํ›„์— ๋ถ™์ž„

{% url 'detail' question_id=question.id page=2 %}

 

 

 

 

# URL ๋„ค์ž„์ŠคํŽ˜์ด์Šค

: ํ”„๋กœ์ ํŠธ์— pybo ์•ฑ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์•ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์„ ๋•Œ, ์„œ๋กœ ๋‹ค๋ฅธ ์•ฑ์—์„œ ๋™์ผํ•œ URL ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ  -->   pybo/urls.py ํŒŒ์ผ์— ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•˜๋Š” app_name ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ

 

1. pybo/urls.py ํŒŒ์ผ์— app_name์„ ์ถ”๊ฐ€ ํ›„ http://localhost:8000/pybo/ ํŽ˜์ด์ง€ ์š”์ฒญ

app_name ์„ pybo ๋กœ ์„ค์ •ํ•จ

 

๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

 

 

 

3. ์˜ค๋ฅ˜ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•œ URL ๋ณ„์นญ์—์„œ detail ์•ž์— pybo ๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ถ™์—ฌ์คŒ

 

 

 

 

4. ๋‹ค์‹œ  http://localhost:8000/pybo/ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

'โœ’๏ธ Python Programming > Frameworks' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

< django - 9 >  (0) 2022.08.03
< django - 8 >  (0) 2022.08.01
< django - 6 >  (0) 2022.07.30
< django - 5 >  (0) 2022.07.30
< django - 4 >  (0) 2022.07.29