gpt4 book ai didi

python - django-从管理员运行脚本

转载 作者:太空狗 更新时间:2023-10-30 02:00:51 25 4
gpt4 key购买 nike

我想编写一个脚本,它不是由某个 URL 激活的,而是通过单击管理界面中的链接来激活的。我该怎么做呢?谢谢!

最佳答案

但是链接必须指向 URL,所以我想你的意思是你想要一个只在管理界面中可见的 View 函数,并且该 View 函数运行一个脚本?

如果是这样,用这样简单的东西覆盖 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 View 并在 View 顶部检查以确保用户是 super 用户,如下所示:

if not request.user.is_staff:
return Http404

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

接下来,在您的 View 中执行上述代码后,只需运行脚本即可。

使用 Python 的 subprocess 模块来实现,例如:

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

关于python - django-从管理员运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com