[英]Django NoReverseMatch error on admin site
使用管理網站處理圖像時,在重定向調用中出現以下錯誤:
NoReverseMatch at /admin/restapi/checkuserimage/1
Reverse for 'pendinguserimages' with arguments '()' and keyword arguments '{}'
not found. 0 pattern(s) tried: []
在urls.py中,我有:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
...
]
並在admin.py中:
class UserImageListPendingView(ListView):
model = UserImage
queryset = UserImage.objects.filter(status=ImageBase.PENDING)
template_name = 'userimage_list_pending.html'
context_object_name = 'userimage_list'
paginate_by = 5
@method_decorator(staff_member_required)
def dispatch(self, *args, **kwargs):
return super(UserImageListPendingView, self).dispatch(*args, **kwargs)
@staff_member_required
def userimage_check(request, pk):
context = RequestContext(request)
user_image = get_object_or_404(UserImage, pk=pk)
if request.method == 'POST':
proc_image(request, user_image, user_image.user, Count.USER_IMAGES)
return HttpResponseRedirect(reverse_lazy('pendinguserimages'))
else:
context_dict = {
'pk': pk,
'username': user_image.user.username,
'image_url': user_image.image.url
}
return render_to_response('userimage_check.html', context_dict, context)
def get_admin_urls(urls):
def get_urls():
return patterns('',
url(r'^restapi/pendinguserimages/?$',
UserImageListPendingView.as_view(), name='pendinguserimages'),
url(r'^restapi/checkuserimage/(?P<pk>[0-9]+)/?$',
userimage_check, name='checkuserimage'),
) + urls
return get_urls
admin.site.get_urls = get_admin_urls(admin.site.get_urls())
該錯誤發生在reverse_lazy函數上。 有點不對勁!
反轉URL時,嘗試包括admin
名稱空間。
return HttpResponseRedirect(reverse('admin:pendinguserimages'))
您不必在視圖函數中使用reverse_lazy
, reverse
應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.