只允许在Django中由admin运行的函数

时间:2014-10-24 03:19:40

标签: python django django-admin

我已经创建了一个在Django 1.6中更新我的模型的函数,该函数正在运行,但我想限制它仅供管理员使用(即以管理员身份登录后)。

我在url.py试了一下像:

url(r'^admin/dummyfx', 'dummy.views.dummyfx'),

但这不起作用,链接在运行之前不会要求身份验证。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

它应该包含在admin.site.admin_view中。

from django.contrib.admin.site import admin_view
url(r'^admin/dummyfx', admin_view('dummy.views.dummyfx')),

答案 1 :(得分:0)

您应该在视图user_passes_test Docs

中使用user_passes_test装饰器

类似的东西:

@user_passes_test(lambda u: u.is_superuser)
def my_view(request):
     ...................
     ....................