次のURLを構築したい
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 とイメージの両方が存在する) を表示しようとすると、この問題が発生します。
invalid literal for int() with base 10: ''
トレースバックは上記の行を示しています
model=Model.objects.get(pk=id)
空の文字列 ('') は、URL から ID を正しく解析できないことを意味しますか? URL パターンが正しくありませんか?
編集:私の目をくそー.... \d+ とイメージ reg パターンを括弧内に配置する必要がありました
url(r'^xray/(?P<id>\d+)/(?P<image_name>\w+\.\w{3})$,...)
質問を投稿して申し訳ありません...(自分の質問を削除するにはどうすればよいですか?)