Джанго и создание URL
Я хочу построить следующий URL
domain/edit/xray/<id>/<image_name>
где id - это идентификатор модели, а image_name - это имя изображения.
У меня есть приложение, которое будет обрабатывать изображения с его собственными представлениями, скажем, Mypil
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
url(r'^xray/(?P<id>)\d+/(?P<image_name>)\w+\.\w{3}$', mypil.views.edit_xray)
Но когда я пытаюсь просмотреть edit/xray/1/image.jpg (и идентификатор, и изображение существуют), я сталкиваюсь с этой проблемой.
invalid literal for int() with base 10: ''
и трассировка показывает мне эту строку выше
model=Model.objects.get(pk=id)
Означает ли пустая строка (''), что она неправильно анализирует идентификатор из URL? Разве мой шаблон URL не правильный?
РЕДАКТИРОВАТЬ: Черт возьми... нужно поставить \d+ и шаблон изображения reg в скобках
url(r'^xray/(?P<id>\d+)/(?P<image_name>\w+\.\w{3})$,...)
Извините за публикацию вопроса...(Как я могу удалить свои вопросы?)
1 ответ
Правильный URL-адрес:
url(r'^xray/(?P<id>\d+)/(?P<image_name\w+\.\w{3})$', mypil.views.edit_xray)
Вы должны поместить образец в родительские обязанности.