Джанго и создание 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)

Вы должны поместить образец в родительские обязанности.

Другие вопросы по тегам