2011-11-24 57 views
4

我应该如何为第三方使用创建一个Django应用程序?我最近一直在黑客攻击,我想把它放在GitHub上,让它松动。我应该如何构造它?有没有一种方法可以使用它,而不必在存储库中存储整个Django项目呢?我怎样才能在另一个项目中进行本地测试?开发和发布自定义Django模块

我对此很感兴趣,所以我很抱歉。在过去,我使用Buildout来构建我的项目,但是我不知道是否可以使用构建Django配方而不使用封闭项目。

有没有这样做的指导?

+0

的可能重复[Django的:如何编写一个可重复使用的应用程序(http://stackoverflow.com/questions/2493330/django-how-to-write- a-reusable-app) –

+0

不是重复的,它只是一个类似的标题 - 链接的问题处理更具体的事情(我已经编辑链接的问题,以便它的标题更好地反映了问题)。 –

回答

6

James Bennett在DjangoCon 2008上讨论了如何开发可重复使用的django应用程序,这些应用程序可以很好地分离并可以放入不同的项目中。您可以观看演讲here。他解释了一些可以遵循的良好做法。您还可以查看一些流行的现有外部应用程序(某些由James Bennett自己创建),甚至可以使用django提供的django.contrib。

使用setuptools/distutils通过cheezeshop打包您的应用程序。我觉得这些都可以帮助您:
http://bruno.im/2010/may/05/packaging-django-reusable-app/
https://github.com/Natim/django-reusable-apps

+0

你能推荐一个测试这些应用程序的好方法吗?我是否应该在源代码控制中包含一个示例项目,以便能够使用应用程序启动到Django shell并进行测试?我希望能够使用我的模块,如果我只是运行Python并尝试导入模型,那么我会遇到很多关于未定义项目设置的错误。我应该在回购中包含一个Django项目吗? –

+0

顺便说一句,这里的项目:https://github.com/rfkrocktk/django-locality –

+0

@TK我开发一个小样本项目来处理这个。编写一个最小化的测试项目并不困难。 – crodjer