我是IT业务(严肃)开发领域的新手,但我在脑海中已经有了一个商业想法,并仍在尝试可视化整个基础设施应该如何工作。
我已经做了一些研究,寻找一种好的技术来交付解决方案。我非常倾向于在服务器端使用Python、MySql、Django (Apache),在客户端使用一些RIA (可能是Flex),因为我需要一些高级的可视化功能(尤其是在看了FLARE项目之后)。
这个应用程序需要在数值/统计方面进行一些“提升”,并且将R与Python (RPy2) + NumPy之类的其他工具集成似乎是理想的。
到目前为止(当然是因为我是一个新手),我不能做到的事情是:
Django (以某种方式)是否可以执行(外部) python脚本/程序,其中包含对额外库(NumPy ...)的引用?
例如:用户触发一个动作来执行统计分析,Django收到请求,应该运行一些python代码(使用R、NumPy...)它使用数据库中的数据并将结果存储回DB中。Django访问数据库数据并将其发送回客户端应用程序进行显示。
这是正确的逻辑吗?还是我完全走错了路?
非常感谢您的专业知识。
发布于 2010-09-23 16:26:59
Django是一个Python程序。像任何其他Python程序一样,它将能够访问其他Python脚本/模块。那么,问题是如何执行脚本。如果您的脚本显式定义了一个main (或另一个起点)函数,那么您可以像导入模块一样导入它并调用main。
例如:
# my custom script. Located in my_script.py
# lots of functions
def main():
# call functions in sequence.
# my django view.
from myscript import main as script_main
script_main()如果您更喜欢从命令行执行,那么可以查看subprocess模块。如果你想异步运行它,那么像Celery这样的东西可能就是你想要的。
发布于 2010-09-23 16:23:54
如果您可以在服务器上安装它并将其导入到python中,那么您就可以在python中使用它,从而在Django中使用它。
也就是说,如果
import foo工作,那么也是如此。
import foo
foo.bar(fobaz)假设它可以在没有Django的情况下工作。此外,如果您试图在Django之外发送HTTP报头或响应,您可能会遇到问题,但数值包不会做这样的事情。
https://stackoverflow.com/questions/3776515
复制相似问题