인프런 커뮤니티 질문&답변

BitNa Bae님의 프로필 이미지
BitNa Bae

작성한 질문수

Django 초보 가이드 - 실습을 통해 알아보는 장고 입문

웹 프레임워크 Django(python) 실습

정규표현식 사용하는 /view/1 조회가 되지 않습니다.

해결된 질문

작성

·

380

0

  1. admin/
  2. write/ [name='write']
  3. list/ [name='list']
  4. view/(?P<num>[0-9]+)/$

정규표현식 표현방법에서 오류가 난 것 같습니다.

include() 내 3tuple 형식이 아니라 2tuple 형식이라고 오류가 나고  urls가 define되지 않았다고 오류가 나서 (window사용)

url -> path로, r^ 을 삭제 수정해 적용했습니다.

어느 부분을 수정해야 할까요? 

rom django.contrib import admin
from django.urls import include, path

from community.views import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('write/', write, name='write'),
    path('list/'listname='list'),
    path('view/(?P<num>[0-9]+)/$', view), 
    
]

답변 4

7

BitNa Bae님의 프로필 이미지
BitNa Bae
질문자

구글링 했더니, url과 path는 () 안에를 다르게 표현해야 작동한다고 합니다.(혹시 같은 문제를 겪는 분들을 위해:)) 

path('view/(?P<num>[0-9]+)/$', view) -> path('view/<int:num>/', view)

이렇게 고치면 일단은 작동은 합니다:)

0

질문자 분의 장고 버전이 뭔지 중요할거 같은데요...

강의 장고 버전이 1.9입니다. 장고 버전 2까지는 `r'^'`을 사용한 정규표현식 url 파싱을 사용했었는데,

장고가 버전 3으로 넘어오면서 위 답글과 같은 <type:val> 형식으로 바뀌었습니다.

현재는 장고 4.0.3까지 나와있는 걸로 알고있는데, 구글링 하시면서 해당 버전에 맞는 방식을 사용하시면 될거같아요

0

from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from comunity.views import *

urlpatterns = [
path('admin/', admin.site.urls),
path('write/', write, name='wirte'),
path('list', list, name='list'),
url(r'^view/(?P<num>[0-9]+)/$', view),
]

강의와 똑같이 하고 싶다면 import 해서 사용 하시면 됩니다.

0

감사합니다.

저도 본 댓글을 참고해서 해결했습니다.

감사합니다. :)

BitNa Bae님의 프로필 이미지
BitNa Bae

작성한 질문수

질문하기