57 Django - URL 경로 시스템
정규 표현 식
URL 경로 시스템
URL 설정
URL 설정 (URLconf) 은 Django 가 지원 하 는 사이트 의 디 렉 터 리 와 같 습 니 다.그것 의 본질은 URL 과 이 URL 을 호출 할 보기 함수 사이 의 맵 입 니 다.당신 은 이런 방식 으로 Django 에 게 이 URL 에 대해 이 코드 를 호출 하고 그 URL 에 대해 그 코드 를 호출 하 는 것 을 알려 줍 니 다.
기본 형식:
from django.conf.urls import url
# urlpatterns, , , , request, wsgiref environ ,
urlpatterns = [
url( , views , , ),
]
매개 변수 설명
예: 연도, 월 에 대응 하 는 글 을 찾 습 니 다.효과 표시: 입력http://127.0.0.1:8000/articles/2019/9/
url 기본 설정
무명 과 유명 그룹.
그룹 이름 정규 표현 식 그룹의 문법 은
(?Ppattern)
이 며, 그 중 name
은 그룹의 이름 이 며, pattern
는 일치 하 는 패턴 입 니 다.from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [url(r'^admin/', admin.site.urls),
url(r'^home/', views.home),
#
url(r'^login/', views.login),
# articles ,
# url(r'^articles/(\d+)/(\d+)/', views.articles),
# articles
url(r'^articles/(?P\d+)/(?P\d+)/', views.articles),]
views 보기
보기 함수 에서 기본 값 을 지정 할 수 있 습 니 다.
from django.shortcuts import render, HttpResponse
# Create your views here.
def home(request):
print(request.path)
# return HttpResponse('hahaha') #
return render(request,'home.html') # html
def login(request):
if request.method == 'POST':
print(request.POST)
#
name = request.POST.get('username')
pwd = request.POST.get('pwd')
if name == 'yan' and pwd == '123':
return HttpResponse(' !')
else:
return HttpResponse(' !')
else:
return render(request, 'login.html')
# ,
# def articles(request,year,month):
# print(year,month) # year="2019" month="9"
# return HttpResponse(year+' '+month+' !')
# ,
def articles(request,m,y):
print(y, m) # y="2019" m="9"
return HttpResponse(y + ' ' + m +' !')
주의 사항
캡 처 된 매개 변 수 는 항상 문자열 입 니 다:
URLconf 에서 포 획 된 매개 변 수 는 일반적인 Python 문자열 로 보기 에 전 달 됩 니 다. 정규 표현 식 이 어떤 일치 방식 을 사용 하 든 간 에.(숫자 도 문자열 형식)
login. html 파일
Title
24
include - - URL 배포
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^app01',include('app01.urls')),
# http://127.0.0.1:8000/app01/xxx app01, app01.urls xxx
url(r'^app02',include('app02.urls')),
url(r'^$', views.base) # , 127.0.0.1:8000
]
이름 URL (별명) 과 URL 의 역방향 분석
urls. py 파일 에서:
url(r'^ /', views. , name=' '),
:
url(r'^home2', views.home, name='home'),
html 파일 템 플 릿 에서:
a, form 폼 에 많이 사용 합 니 다.
{% url ' ' %}
:
{% url 'home' %} # /home2/
views.py
방향 변경 에 사용 가능
from django.urls import reverse
reverse(' ') #
:
reverse("home") # /home2/
def my_url(request):
return redirect(' ') # , reverse
include 경로 가 배 포 될 때 별명 을 사용 하면 reverse 에서 경로 오류 가 발생 합 니 다.따라서 네 임 스페이스 모드 설정 이 필요 합 니 다.
네 임 스페이스 모드
다른 앱 이 같은 URL 이름 을 사용 하 더 라 도 URL 의 네 임 스페이스 모드 는 이름 을 바 꾸 는 유일한 URL 을 만 들 수 있 습 니 다.
url(r'^app01',include('app01.urls', namespace='app01')),
#
reverse('app01:home') # :
html :
{% url ' : ' %}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.