Django 2.0 urlpatterns 설정

1649 단어
플랫폼: Django 2.0.1 Python 3.6.3
이전에 파이톤을 공부할 때 많은 문제에 부딪혔어요.많은 강좌는 모두 구판을 바탕으로 한 것이기 때문에 버전이 갱신된 후에 많은 강좌는 더 이상 적용되지 않는다.
이전 Django 버전의 URL 설정은 다음과 같습니다.
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
     # Examples:
     # url(r'^$', 'my_blog.views.home', name='home'),
     # url(r'^blog/', include('blog.urls')),

     url(r'^admin/', include(admin.site.urls)),
     url(r'^$', 'article.views.home'),  
 )

Django 2.0 릴리즈 이후 생성된 기본 구성은 다음과 같습니다.
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

url이 없어져서 path가 됐어요.튜토리얼에 따라patterns,include,url 모듈을 가져오거나 path를 url로 수정하면 각종 오류가 발생합니다.예를 들면 다음과 같습니다.
TypeError: view must be a callable or a list/tuple in the case of include().
NameError: name 'url' is not defined
NameError: name 'include' is not defined\
ImportError: cannot import name 'views'

버전 업데이트 문서를 검색하고 검색한 결과 django.conf.urls.url() 방법이 django.urls.re_path()로 바뀌었고 django.conf.urls.include() 방법이 django.urls에서 가져왔습니다.실제 프로젝트에서는 views, 즉 from xxx import views를 가져와 url 방법을 path 방법으로 바꾸고 기본 설정을 참고할 때 생성된 예를 참조해야 한다.다음과 같습니다.
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.xxx),
]

이렇게 하면views의 xxx 방법을 정상적으로 호출할 수 있습니다.
플랫폼: Django 2.0.1 Python 3.6.3

좋은 웹페이지 즐겨찾기