首页 > 解决方案 > Django - 我可以从数据库中运行代码吗?

问题描述

我构建程序,在某一部分我有一些排名,我想给用户自定义它的选项。

在我的代码中,我有一个函数,它获取对象并返回它们,其中包含点和排名中的位置(现在它计算某些对象值的算术平均值)。

我的问题是是否有可能让例如管理员有机会通过管理面板编写此功能并使用它,所以如果他想有一天使用谐波意味着他可以不更改源代码?

标签: django

解决方案


是的,您可以在数据库中存储一个字符串,并exec()使用合适的参数......

但是,您必须小心——Python 代码实际上永远无法完美地沙盒化。如果您为此接受任何 Python 代码,并且有恶意的人进入您的管理面板更改表达式,他们几乎可以做任何事情。

换句话说,不要将原始 Python用于您存储的代码。


推荐阅读