django - Django - 我可以从数据库中运行代码吗?
问题描述
我构建程序,在某一部分我有一些排名,我想给用户自定义它的选项。
在我的代码中,我有一个函数,它获取对象并返回它们,其中包含点和排名中的位置(现在它计算某些对象值的算术平均值)。
我的问题是是否有可能让例如管理员有机会通过管理面板编写此功能并使用它,所以如果他想有一天使用谐波意味着他可以不更改源代码?
解决方案
是的,您可以在数据库中存储一个字符串,并exec()
使用合适的参数......
但是,您必须小心——Python 代码实际上永远无法完美地沙盒化。如果您为此接受任何 Python 代码,并且有恶意的人进入您的管理面板更改表达式,他们几乎可以做任何事情。
换句话说,不要将原始 Python用于您存储的代码。
推荐阅读
- javascript - Chainlink 外部适配器对 Spotify 进行 API 调用时出现问题
- database - 安装 mongoose 和 Mongodb 时出错
- database - Oracle DB - 连接问题
- go - $ fyne package -os linux ... 结果是:bash: fyne: command not found
- asp.net-mvc - Bootstrap Datetimepicker 英国日期格式发布为美国格式
- javascript - babel 节点 SyntaxError:无效或意外的令牌
- javascript - 如何在网络浏览器中从网络摄像头捕获图像 - 模型表单集 - django
- r - 在 {fable} 自动绘图方法中指定日期间隔
- video - DeOldify 视频宽高比
- git - 如果特定文件发生更改,是否可以使用 post-receive git hook 发送电子邮件通知