2009-03-04 12 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"]) 
相關問題