关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
2年前关闭。
Improve this question
来自构建和项目管理工具比比皆是的 Java 开发,我想知道什么可用于 Django。我真的很想使用 Maven 之类的东西来构建东西,但是还有另一种首选的方法吗?
我真的在寻找以下内容:
mvn install
非常简单和酷。 Maven 或其他工具目前可以做到这一点吗?我正在这里着手一个相当大的项目,我想要一个像 Maven 这样的快速构建/项目管理系统来帮助项目随着时间的推移而发展。
最佳答案
我想到了两个工具,它们都是通用的 Python 工具——它们不需要专门与 Django 一起使用:
我确定还有其他可用的软件包。我能给你的最好建议是对它们进行简要评估,然后选择最适合你的场景/团队工作风格的一个。请注意,这些主要是部署工具 - 在 python 中构建并没有真正意义,因为您不编译 python 代码。
就 CI 相关的内容而言,您需要了解 django 中的三个命令:
./manage.py test
从所有 tests.py
运行您的测试文件。这些基本上是对 unittest
的 django 特定增强。 ,一个python包。 ./manage.py collectstatic
将静态文件收集到您选择的目录中;对于将所有位组合在一起以存在于静态媒体服务器上非常有用。看看the static files howto这是如何工作的。 ./manage.py schemamigration app --auto && ./manage.py migrate app
- 这将模型更改应用于底层 sql 架构。基本上,如果你只是改变一个模型而不使用南,Django 会很不高兴,因为新字段不会映射到旧的 sql 模式并且它不能持久化你的模型。 South 支持的架构迁移使您能够升级现有的填充数据库。值得在自动化之前手工完成。 ./manage.py whatever you like
.这具有相当大的潜力 - 例如,我使用管理命令作为在 cron 作业中执行的命令。您还可以为应用程序的管理员构建交互式命令,当然还有部署和测试。 如何处理这些实际上取决于您可用的设置以及您选择的工具。
关于编译:最接近使用 python 构建的是 freeze,也就是 py2exe 或 cxfreeze,它们生成二进制文件。请注意,所有这些都是将 python 字节码存储在 exe 中并将其传递给解释器,无论如何它都是一个共享对象。此外,您不能 cxfreeze django 应用程序,因为 django 本身使用在运行时发生的动态导入,因此无法由 cxfreeze 评估,cxfreeze 本质上是一个编译时工具。所以打折建筑是一项需要做的任务。您可能会看到
.pyc
出现在您的目录中的文件 - 如果自上次 pyc 以来对其进行了更改,python 会将您的 python 脚本转换为 python 字节码。如果未进行任何更改,则加载 pyc
上次的文件。 Python 字节码是被执行的,所以这并不是真正的性能加速,只是加载时间。
关于django - Django 项目的项目管理/构建工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784061/