Django url warning – / 제거?

django2.2 에서, 하나의 프로젝트에 여러개의 app을 들어서 app을 실행했을때 아래와같은 경고가 발생하는 경우,

WARNINGS:
?: (urls.W002) Your URL pattern '/catsel/' [name='select'] has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.

System check identified 1 issue (0 silenced).

1. app의 urls.py(app의 이름이 devmgmt 이다)

urlpatterns = [
    path('/catsel/', SelectCatView.as_view(), name='select'),
    path('/test/', TestView.as_view(), name='test'),      # 테스트페이지
]

위의 경고대로 아래처럼 path에서 ‘/’를 제거하고 접속했는데, 404 page not found 오류가 난다.

urlpatterns = [
    path('catsel/', SelectCatView.as_view(), name='select'),
    path('test/', TestView.as_view(), name='test'),      # 테스트페이지
]

2. 프로젝트의 urls.py 내용은 아래와 같다.

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

위에서 내가 작성한 path와 django 프레임워크에서 제공하는 admin의 뒷부분에 차이가난다.
뒷부분에 ‘/’가 없어서 app url에서 앞의 ‘/’ 를 제거했을때 오류와 경고가 발생.
이제, 아래와 같이 수정하면 경고도 없고 접속도 잘 된다.

project/urls.py
urlpatterns = [
    path('devmgmt/', include('devmgmt.urls')),                 
    path('admin/', admin.site.urls),
]

답글 남기기

Your email address will not be published.