我想构建以下网址
domain/edit/xray/<id>/<image_name>
其中 id 是模型的 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 (id 和 image 都存在)时,我遇到了这个问题。
invalid literal for int() with base 10: ''
并且回溯向我显示了上面的那一行
model=Model.objects.get(pk=id)
空字符串('')是否意味着它没有从 URL 中正确解析 id?我的网址格式不正确吗?
编辑:该死的我的眼睛....需要把 \d+ 和括号内的图像注册模式
url(r'^xray/(?P<id>\d+)/(?P<image_name>\w+\.\w{3})$,...)
抱歉发布问题...(如何删除我自己的问题?)