2009-03-04 84 views

回答

10

但是一个链接必须转到一个URL,所以我认为你的意思是你想要一个仅在管理界面中可见的视图函数,并且该视图函数运行一个脚本?

如果是这样,覆盖admin/base_site.html模板的东西这个简单:

{% extends "admin/base.html" %} 
{% block nav-global %} 
    <p><a href="{% url your-named-url %}">Do Something</a></p> 
{% endblock %} 

这(应该)把链接在管理界面的顶部。

与命名方式添加您的URL到您的urls.py

然后,只需做一个普通的Django视图,并在视图检查的顶部,以确保用户是超级用户是这样的:

if not request.user.is_staff: 
    return Http404 

这将防止未经授权的人访问此视图。

接下来,在上述代码之后的视图中,只需运行该脚本即可。

做到这一点与Python的子模块,例如:

from subprocess import call 
retcode = call(["/full/path/myscript.py", "arg1"]) 
相关问题