Django #9 - URL Namespace

김엣취·2024년 8월 17일

Django

목록 보기
10/17

1. URL Namespace

A: 어멋! 만약 같은 이름의 URL이 있으면 어떡해요?
B: 그럴 땐 settings의 이 부분에서 해당 URL과 Template를 찾은 순서대로 반환해준답니다

A: 그럼 우리가 의도한대로 결과가 안 나올 수도 있다는 거 아닌가요?
B: 그것 때문에 Namespace가 필요한겁니다.

from django.urls import path
from . import views

app_name = "articles"

urlpatterns = [
		...
    path("hello/", views.hello, name="hello"),
    ...
]

B: 먼저 해당 APP의 urls.py 윗부분에 app_name을 적어줍니다
그리고 나면 namespace:url_name형태로 구분 할 수 있게 됩니다

{% url 'articles:hello' %}

redirect('articles:hello')

2. Templates 구분

A: 서로 다른 앱에 각각 같은 이름의 HTML 파일이 있을 수도 있잖아요!
B: 그걸 해결하기 위해서는.. 해당 APP의 templates폴더 안에 APP과 같은 이름으로 폴더를 만든 뒤, html파일들을 다 안쪽으로 넣어주면 되요

B: 이제 <app_name>/template.html으로 구분할 수 있게 되었어요!

0개의 댓글