Django视图函数未被调用

时间:2014-06-25 13:12:45

标签: python django function view

这是有问题的功能。问题是它似乎没有被调用。无论pk是否匹配request.user.id,用户都可以下载服务器上的任何文件。

def permit(request, pk):
   # First I sanitize system_path from request, then...

   if int(request.user.id) == int(pk) and int(request.user.id) >= 1:
        sendfile(request, system_path)
   else:
        return render_to_response('forbidden.html')
   return HttpResponseRedirect('/notendur/list')

如您所见,它需要pk并将其与request.user.id进行比较,如果是这种情况,则会提供该文件。

然后是urls.py

的相关位
urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),

    #upload urls
    (r'^notendur/', include('notendur.urls')),

    #This needs to be changed to welcome.html
    (r'^$', RedirectView.as_view(url='/notendur/list/')), # Just for ease of use.   

    #security
    url(r'^media/uploads/(?P<pk>[^/]+)', 'notendur.views.permit'),
    url(r'^media', 'notendur.views.permit'),
)

这种错误有点突然出现。据我所知,我没有编辑任何与此相关的内容。

我知道函数没有被调用,因为我注释了sendfile()并放了render_to_response('forbidden.html')。没有任何影响;用户仍然可以下载未审查的文件。

0 个答案:

没有答案