Django URLconf
5621 단어 django
from django.conf.urls.defaults import *
from sailing.manager.views import search
urlaptterns = patterns('',
url(r'^search$',search),
)
위에서 사용한 것은 함수 대상을 전달하는 방식(python에서 함수는 일급 대상이므로 다른 변수를 전달하는 것처럼 전달할 수 있다. 함수 대상을 전달하는 방식, 함수 대상을 포장하는 방식)을 사용하고 다음은 문자열을 전달하는 방식을 사용한다.
from django.conf.urls.defaults import *
urlaptterns = patterns('sailing.manager.views',
url(r'^search/$','search'),
)
문자열을 사용하면 import 관련 모듈을 사용하지 않고 일반 접두사를 사용할 수 있습니다. (patterns 함수의 첫 번째 인자는 하나의 문자열로 보기 함수의 일반 접두사를 나타냅니다.)접두사가 다를 때 여러 개의 패널 () 대상을 추가한 다음 덧붙이면 됩니다. 예를 들어:
from django.conf.urls.defaults import *
urlaptterns = patterns('sailing.manager.views',
url(r'^search/$','search'),
)
urlaptterns += patterns('',
url(r'^admin/', include(admin.site.urls)),
)
대부분의 URL 모드는 ^로 시작하여 $로 끝납니다. URL 모드 끝에 슬래시가 있으면 겉으로는 꼬리에 슬래시가 없는 URL과 일치하지 않지만, 기본적으로 꼬리에 슬래시가 없는 URL은 어떤 모드와 일치하지 않으면 꼬리에 슬래시가 포함된 모드로 다시 지정됩니다.따라서 urlpatterns에서 URL을 설정할 때 가능한 한 끝부분에 빗장을 달아야 한다.
또한urls 때문에.py는 표준 python 파일이기 때문에 DEBUG 모드에서만 유효한 모드와 같이 동적 설정urlpatterns를 지원합니다.
from django.conf import settings
from django.conf.urls.defaults import *
if settings.DEUG:
urlpatterns = patterns('',
(r'^search/','search'),
)
URLconf의 명명되지 않은 정규 표현식 그룹에서 URL 부분의 데이터를 포획하려면 작은 괄호를 붙여서 Django는 포획된 텍스트를 위치 매개 변수로 보기 함수에 전달합니다.또한 명명된 정규 표현식 그룹을 사용하여 URL을 포획할 수도 있고, 작은 괄호를 붙여서 키워드 매개 변수로 보기에 전달할 수도 있다.명명된 정규 표현식 그룹의 문법은 다음과 같습니다: (? P
URL 모드에서 매개 변수를 전달하는 것을 제외하고patterns () 함수에 있는 모든 URLconf는 세 번째 요소가 있습니다. 이것은 dict 형식으로 키워드 매개 변수와 전달하는 값을 나타냅니다. (이 값은 문자열일 수도 있고 어떤 유형의 대상일 수도 있습니다.)보기 함수는 매개 변수를 얻었을 뿐, 이 매개 변수가 포착되었는지, 추가로 제공되었는지는 상관하지 않는다.그러나 충돌이 발생하면 추가 URLconf 매개변수가 스냅 값보다 우선합니다. 예를 들어,
urlpatterns = patterns('',
(r'^mydata/(?P<id>\d+)/$', views.my_view, {'id':3}),
)
요청한 URL의 id 값이 무엇이든지 id = 3만 보기 함수에 전달됩니다.모든 포획된 매개 변수는 보기 함수에 문자열로 전송되며, 정규 표현식의 형식을 막론하고 보기 함수에서 형식 변환을 해야 할 수도 있습니다. (그러나 이상을 포착할 필요가 없을 수도 있습니다. URLconf의 정규 표현식은 이 형식의 문자열만 이 보기에 전송될 수 있기 때문입니다.)
또 하나의 세부 사항은 보기 함수 중의 매개 변수가 기본값을 가지고 있기 때문에 동적 기능을 할 수 있다.상응하여python 가변 매개 변수의 특성을 사용할 수 있다(매개 변수 앞에 * 번호가 있고 전달된 매개 변수는tuple로 저장되며 매개 변수 앞에 두 개의 * 번호가 있으며 전달된 키워드 매개 변수는 사전으로 저장됨을 나타낸다)
URLconf에서는 일치하는 함수 대상을 포장할 수 있는 것 이외에include를 통해 다른 URLconf를 포함할 수 있습니다.Django가 include()를 만날 때마다 URL에서 일치하는 모드의 텍스트를 제거하고 나머지 부분은 include()에서 지정한 URLconf로 보내서 처리합니다.URLconf의 세 번째 매개 변수 (추가 보기 함수 매개 변수) 는include () 에서 지정한 URLconf에 전달될 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.