这可能是有点干净和绿色,然而当我试图解释我的设置橡胶鸭,很多次我醒来发现自己在一堆自己的头发和鸭子仍然在那里,盯着我没有感情。那时我知道是时候把事情升级到这样了。你知道吗
让我沮丧的是,最初我遵循一个我认为可信的指南,安装virtualenv等等,然后开始了我的helloworld项目。在研究一个Web服务器时,我遇到了apache2和gunicorn dilema的对决,我想我们可以使用gunicorn。我没有想太多,开始用另一个Hello World应用程序,然后我意识到我错过了版本控制,创建了另一个Hello World项目,我在这里咬我的指甲,吃我的头发,因为我发现我可能已经搞砸了文件系统的文件夹结构和惯例,在这里,我正在创建我的第四个django hello world应用程序。你知道吗
有人把我从地狱里救出来。你知道吗
我是怎么做的
----这是事情变得模糊的部分---
希望知道我是否在正确的顺序或任何其他明确的指南设置django这一点
这是一个很难回答的问题,因为它更多的是关于观点,而不是其他任何东西;每个人的工作方式都不同。但是,如果您了解这些建议背后的原因,那么您就可以更好地判断其他引导脚本,甚至更好地构建自己的脚本。你知道吗
以下是你需要确保的事情。你知道吗
将开发包与系统范围的Python安装隔离开来。使用^{} 来实现这一点。此外,您应该确保您pin your packages,这样在升级版本时就不会感到意外了。
使用任何形式的版本控制。不一定是git。你不需要使用github.com网站. 使用mercurial,cvs,bazaar或者其他什么。重要的是你要使用一些东西。所以,找出适合你的方法,开始行动吧。
对于开发,甚至不必为web服务器操心。Django附带了一个Web服务器,您应该在开发过程中使用它。用
python manage.py runserver
运行它。完成开发后,应该部署任何支持wsgi的web服务器。文档提供了deployment guides可以帮助您实现这一点。每个人和他们的狗都有一个文件夹布局和结构的建议。问题是,每个人都有自己的理由推荐它。如果你不明白为什么,你只会对布局感到沮丧。所以,我的建议是从django附带的标准布局开始。我要添加的唯一一件事是创建一个
docs/
目录,在其中粘贴项目的任何/所有文档;以及一个requirements/
目录,在其中保存所有requirements files,并保持更新。最后,我的一些建议。你知道吗
使用postgresql,除非你有足够的理由使用mysql。postgresql最适合于django,一些ORM特性(比如对列使用^{} )只适用于postgresql。
保持模板和视图简单。与其在视图中塞满大量逻辑,不如创建其他可以导入的python模块。这将使您的项目易于扩展(例如,如果您想创建一个API)。你的模板应该有最少的逻辑。如果使用自定义模板标记,请使它们尽可能简单,因为它们很难调试。
不要害怕在ORM中创建自定义模型管理器和其他技巧。有很多东西可以让你的应用程序更容易开发。
django-south
是推荐的,但是在安装它之前,请确保您了解它是如何影响您的项目的;否则您只会在几次迭代之后以无法运行的迁移结束—然后您将花费大量的时间尝试修复迁移,或者干脆删除数据库并重新开始。找到了这个伟大的资源,这几乎正是我要找的。你知道吗
2013年更新的epicserv
https://gist.github.com/epicserve/1332256(2013年更新)
森科2011年更新
http://senko.net/en/django-nginx-gunicorn/
相关问题 更多 >
编程相关推荐