django 2.0의 경우 urls.py 의 path() 또는 url() 중 어느 것을 사용하는 것이 더 좋습니까?
장고 온라인 코스에서, 강사는 우리가 사용하도록 합니다.url()
URL 패턴 목록에서 보기를 호출하고 정규식을 사용하는 함수입니다.유튜브에서 다른 예를 본 적이 있습니다. 예를 들어.
from django.contrib import admin
from django.urls import include
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
]
#and in polls/urls.py
urlpatterns = [
url(r'^$', views.index, name="index"),
]
하지만 장고 튜토리얼을 통해 그들은path()
대신, 예:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
게다가 정규 표현은 다음과 같이 작동하지 않는 것 같습니다.path()
를 사용하는 기능path(r'^$', views.index, name="index")
찾을 수 없을 것mysite.com/polls/
보다.
사용 중path()
정규 표현을 일치시키지 않고 앞으로 나아갈 것인가요?아이즈url()
더 강력하지만 더 복잡하기 때문에 그들은 사용하고 있습니다.path()
우리를 시작하기 위해?아니면 다양한 직업을 위한 다양한 도구의 사례입니까?
URL은 Django 설명서에서 확인할 수 있습니다.
url(regex, view, kwargs=None, name=None)
이 함수는 다음의 별칭입니다.django.urls.re_path()
향후 릴리스에서는 더 이상 사용되지 않을 가능성이 높습니다.
와의 주요 차이점은path
정규식이 없는 경로 사용
사용할 수 있습니다.re_path
복잡한 정규식 호출에 사용할 수 있습니다.path
더 간단한 검색을 위해
새로운 기능을 통해 더 간단하고 읽기 쉬운 URL 라우팅 구문을 사용할 수 있습니다.예를 들어 이전 Django 릴리스의 다음 예는 다음과 같습니다.
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)
다음과 같이 쓸 수 있습니다.
path('articles/<int:year>/', views.year_archive)
이전 버전의 기능을 이제 로 사용할 수 있습니다.이전 위치는 즉시 사용되지 않고 이전 버전과의 호환성을 유지합니다.이제 이전 기능을 에서 가져올 수 있으므로 다음을 사용할 수 있습니다.
from django.urls import include, path, re_path
URL conf에 있습니다.장고 문서를 더 읽기 위해.
path
몇 주 전에 출시된 장고 2.0의 새로운 기능입니다.대부분의 자습서는 새 구문에 대해 업데이트되지 않았습니다.
그것은 확실히 더 간단한 작업 방식이어야 했습니다. 하지만 URL이 더 강력하다고는 말하지 않겠습니다. 당신은 두 가지 형식 중 하나로 패턴을 표현할 수 있어야 합니다.
정규식은 다음과 같이 작동하지 않는 것 같습니다.path()
다음 인수로 함수를 지정합니다.path(r'^$', views.index, name="index")
.
다음과 같이 해야 합니다.path('', views.index, name="index")
.
정규식을 입력하려면 첫 번째 인수가 비어 있어야 합니다.
경로는 장고 2.0의 새로운 기능입니다.여기서 설명합니다: https://docs.djangoproject.com/en/2.0/releases/2.0/ #sship-new-2-0
좀 더 비단결적인 방법처럼 보이고, 당신이 보기 위해 전달하는 인수에 정규 표현을 사용하지 않도록 합니다...예를 들어 int() 함수를 사용할 수 있습니다.
v2.0부터는 많은 사용자가 경로를 사용하지만 경로나 URL을 사용할 수 있습니다.예를 들어 django 2.1.1에서 url을 통한 함수에 대한 매핑은 다음과 같이 수행될 수 있습니다.
from django.contrib import admin
from django.urls import path
from django.contrib.auth import login
from posts.views import post_home
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^posts/$', post_home, name='post_home'),
]
여기서 posts는 애플리케이션이고 post_home은 뷰의 함수입니다.파이의
언급URL : https://stackoverflow.com/questions/47947673/is-it-better-to-use-path-or-url-in-urls-py-for-django-2-0
'programing' 카테고리의 다른 글
진행 대화 상자와 배경 스레드가 활성화되었을 때 화면 방향 변경을 처리하는 방법은 무엇입니까? (0) | 2023.06.06 |
---|---|
당신은 C에서 리눅스에서 논블로킹 콘솔 I/O를 어떻게 합니까? (0) | 2023.06.06 |
장고-고-고-고-고-고-고-고-고가 나타나지 않음 (0) | 2023.06.06 |
S3 버킷의 하위 폴더 이름을 bo에서 3으로 검색하는 중 (0) | 2023.06.06 |
딕트 값을 일치시켜 목록 내 딕트 인덱스 찾기 (0) | 2023.06.06 |