Django--3--urls.py 상해
5813 단어 Django
2.urls에서.py에서 우리는 여러 가지 URL을 설정하는 방식이 있습니다.
첫 번째 (pattern, 유행이 지난 방법)
from django.conf.urls import patterns
urlpatterns = patterns('',
(r'hello/$', v1.hello),
)
두 번째(리스트, 추천 방식)
from django.conf.urls import url
from django.contrib import admin
from hello import views as v1
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/$', v1.hello, name='hello'),
]
url이라는 함수의 각종 매개 변수를 살펴봅시다
def url(regex, view, kwargs=None, name=None, prefix=''):
...... ......
urlpatterns = [url(정규 표현식,view 함수, 보기에 전달되는 매개 변수, 별명(명명 공간), 접두사)] 여기에는 몇 가지 설명이 있습니다.
설명1: 여기의view 함수는 우리가 이전에 사용한 대상이지만 사실은 문자열 형식으로 전달할 수도 있다
urlpatterns = [
url(r'^hello/$', 'hello.views.hello', name='hello'), # url
]
설명2: 전달된 매개 변수는 아래와 같이url(r'^hello/$', v1.hello, {'a': 123}, name='hello'),
일단 우리가 이렇게 정의한 후에views 때문에.py에는 a라는 인자가 없기 때문에 오류가 발생할 수 있습니다. 우리는 이렇게 수정해야 합니다.def hello(request, a): #
print a
user_list = User.objects.all()
return render(request, 'table.html', {'user_list': user_list})
3. URL 분해기,include 함수
현재 우리의 URL 설정은 모두 프로젝트에 적힌 URL입니다.py에 있는 이렇게 쓰는 것은 본래 문제가 없지만 사이트의 기능이 많을 때 우리는 많은 URL을 설정할 것이다. 이때 모두 이 URL에 쓴다.py 안은 난잡해 보일 수 있다.그래서 우리는 한 앱에 이 앱의 URL을 설정하고 싶다.
만약 이렇게 한다면, 우리는 우선 프로젝트의urls를py를 앱으로 복사합니다.그리고 app에서 설정하고 프로젝트의 urls에서 설정합니다.py에서 우리는 URL 분해기, 즉include 함수를 다른 앱에 쓴 URL을 도입해야 한다.py
app에서urls.py는 다음과 같습니다.
from django.conf.urls import url
from hello import view # app views.py
urlpatterns = [
url(r'^hello/$', view.hello),
]
프로젝트 중의urls.py는 다음과 같습니다.from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('hello.urls')), # include app url
]
4. 정규 표현식 정보
정규 표현식에 관해서는 또 다른 파충류를 배우는 노트에서 언급되었는데 이것은 구덩이이니 모두들 주의하세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.