2013-10-29 6 views
0

나는 ID가 모델의 ID이며, 여기서 image_name 이미지의 이름을 다음 URL장고와 URL을 생성

domain/edit/xray/<id>/<image_name> 

를 구성합니다.

가 나는

mypil.views을

def edit_xray(request, id, image_name): 
    ....code to get image by name 
    ....model by id and edit image using PIL 
     model = Model.objects.get(pk=id) 

프로젝트/urls.py

url(r'^edit/', include(mypil.urls)) 

mypil.urls mypil라고 자신의 견해와 이미지 편집을 처리 할 응용 프로그램을 할 수 있습니다

url(r'^xray/(?P<id>)\d+/(?P<image_name>)\w+\.\w{3}$', mypil.views.edit_xray) 

하지만 편집/xray/1/image.jpg (ID와 이미지가 모두 있음)를 보려고하면이 문제가 발생합니다.

invalid literal for int() with base 10: '' 

및 역 추적은 빈 문자열 ('')가 URL에서 올바르게 ID를 구문 분석하지 않습니다 의미합니까 저에게

model=Model.objects.get(pk=id) 

위의 그 선을 보여줍니다? 내 URL 패턴이 맞지 않습니까?

편집 : 난 내 자신의 질문을 삭제하려면 어떻게 괄호

url(r'^xray/(?P<id>\d+)/(?P<image_name>\w+\.\w{3})$,...) 

질문을 게시 죄송합니다 ... (안에 내 \ D + 넣어하는 데 필요한 눈 .... 이미지의 등록 패턴 젠장?)

+0

삭제하지 마십시오. 나쁜 질문이 아닙니다. 누군가 다시 같은 실수를 할 수도 있습니다. – yuvi

+0

정말입니까? 그냥 신중하지 충분히 롤 : – Apostolos

답변

1

올바른 URL은 다음과 같습니다

url(r'^xray/(?P<id>\d+)/(?P<image_name\w+\.\w{3})$', mypil.views.edit_xray) 

당신은 parentnesses에 패턴을 넣어해야합니다.

+0

네 ty .... 내 눈은 트릭을하고있다 ... – Apostolos

+0

내 생각에 후행 슬래시를 지키는 것은 좋은 습관이다. – iMom0