Django에서 URLconf 및 include()의 공동 작업 방법
포함된 URLconf는 다음과 같은 parent URLconfs로부터 캡처된 매개 변수를 수신합니다.
# root urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^(?P\w+)/blog/', include('foo.urls.blog')),
)
# foo/urls/blog.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^$', 'foo.views.blog_index'),
(r'^archive/$', 'foo.views.blog_archive'),
)
이 예에서 포획된username 변수는 포함된 URLconf에 전달되며, 그 URLconf의 모든 보기 함수에 전달됩니다.
캡처된 이 매개변수는 항상 포함된 URLconf의 각 행에 전달되며, 해당 행에 해당하는 뷰에 이러한 매개변수가 필요한지 여부에 상관없습니다.따라서 이 기술은 전달된 파라미터가 확실히 필요할 때만 유용해 보인다.추가 URLconf가 include()와 함께 작동하는 방법
비슷한 것은 사전을 통해 일반적인 보기에 추가 URLconf 옵션을 전달할 수 있는 것과 같다.이렇게 하면 URLconf가 포함된 줄마다 추가 매개 변수를 받을 수 있습니다.
예를 들어, 다음 URLconf 두 개는 기능적으로 동일합니다.
첫 번째:
# urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^blog/', include('inner'), {'blogid': 3}),
)
# inner.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^archive/$', 'mysite.views.archive'),
(r'^about/$', 'mysite.views.about'),
(r'^rss/$', 'mysite.views.rss'),
)
두번째
# urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^blog/', include('inner')),
)
# inner.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^archive/$', 'mysite.views.archive', {'blogid': 3}),
(r'^about/$', 'mysite.views.about', {'blogid': 3}),
(r'^rss/$', 'mysite.views.rss', {'blogid': 3}),
)
이 예는 포획된 매개 변수와 마찬가지로 (이전 절에서 설명한 바와 같이) 추가 옵션은 항상 포함된 URLconf의 줄마다 전달됩니다. 그 줄에 대응하는 보기가 유효한 매개 변수로 이 옵션을 받아들일지 여부에 관계없이. 따라서이 기술은 전달된 추가 파라미터가 확실히 필요할 때만 유용해 보인다.이 때문에, 이 기술은 당신이 제시한 옵션을 추가로 받아들일 수 있는 모든 URL conf와 관련이 있다고 확신할 때만 효과가 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.