最佳实践:Django+python分析

2024-06-26 02:07:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码组织问题。我有一个Django项目。它位于服务器上,人们使用它,并收集数据。在某些时候,我需要分析这些数据(我使用的是Scipy、numpy和matplotlib)。现在我使用Django数据库作为数据的单点存储。在

不管怎样,我的分析模块都和我的数据库连接在一起。但是分析模块实际上与Django项目是分开的(如果我想将Django项目部署到另一个服务器上,那么分析模块就不支持它了)。它有不同的依赖关系。在

那么,我应该如何组织它来保持分离,但仍然允许分析模块访问Django项目的所有组件?我希望他们有不同的虚拟环境(因为我不希望分析模块依赖项把django项目环境搞得一团糟),并且住在不同的git存储库中。在

现在:

(git repo DjangoThing)
DjangoThing
    MyDjangoProj
        settings.py
        wsgi.py
        urls.py
    --->analyze.py (this is dumb)
        etc
    MyDjangoApp1
        models.py
        etc
    MyDjangoApp2
        models.py
        etc

有什么建议吗?在


Tags: 模块数据项目django代码pygitnumpy
1条回答
网友
1楼 · 发布于 2024-06-26 02:07:45

重要的一点是要记住,Django应用程序最终只是python代码,因此如果您想拥有不同的虚拟环境,您可以创建一个单独的python包并手动处理所有的DB工作,可以通过SQLalchemy、其他方法或raw dog。如果Django应用程序中有你想要的代码,你可以把你的PYTHONPATH砍掉,让它知道你的Django项目在哪里。但是,你也需要知道管理.py在后台工作,因为你在repo中的自定义应用程序不可避免地需要加载设置和其他所有通过管理.py. 在

那该怎么办?好吧,我会按照上面的评论员所说的,在Django回购中创建一个新的分析应用程序。但首先,你可以很容易地克隆旧的回购协议,并称之为“分析”,而新的回购协议,无论你怎么称呼它。对于您的分析应用程序,请调整要求.txt,添加你的分析应用到它,然后bam,你有你的工作分析应用程序最小的努力,你仍然有不错的django orm如果你想使用它。你仍然可以有不同的虚拟人,只是不要搞不清你在哪一个,否则你将在一个受伤和痛苦的世界。在

如果您愿意,您甚至可以通过restfulapi调用将您的分析公开为一个服务!在

相关问题 更多 >