django最佳实践 - 欢迎吐槽

2012 年 7 月 12 日
 okidogi
如果你做过django的网络开发和部署,你可能会感慨程序员的生活有多苦逼,隔离的python运行环境就有多重要。virtualenv... ...

更多猛击:
http://404think.com/django-best-practice/
8080 次点击
所在节点    Django
21 条回复
xhinking
2012 年 7 月 12 日
django的部署确实让人蛋疼。之前做了一个小项目忘记怎么部署的了。

Celery+RabbitMQ是个不错的组合,slideshare上有很多相关的slide。没有用过,感觉应该挺好的吧。
okidogi
2012 年 7 月 13 日
@xhinking RabbitMQ据说非常稳定消息不会丢失,但是配置比较麻烦。redis可能会更方便一些。
vixvix
2012 年 7 月 13 日
virtualenv + pip 应该所有python framework都适用。

Celery看起来不错,有机会试试。
judezhan
2012 年 7 月 13 日
推荐gunicorn+nginx,方便又高效。之前用mod_wsgi+apache,很烂,巨烂。
judezhan
2012 年 7 月 13 日
@okidogi RabbitMQ是个Message Queue, Redis一般做Cache,这两个有什么可以直接做比较的吗?除非自己用Redis实现一个Message Queue,虽然也不难,但我建议可以尝试一下ZeroMQ,性能比RabbitMQ要好很多。
iiduce
2012 年 7 月 13 日
最近做的django项目运行在mod_wsgi + nginx,mongodb做数据库和cache
okidogi
2012 年 7 月 13 日
@judezhan gunicorn+nginx不错,instagram用的就是。配置比较方便。celery用RabbitMQ或者redis做broker发送或者接收信息。
http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html
1272729223
2012 年 7 月 13 日
寻python django程序员,付费请教一个新闻发布的系统,就一个登陆界面,发布新闻的按钮和发布界面。 500元,上海地区面授,万分感谢! 希望你别嫌弃太少钱了,体谅一下吊丝苦逼青年吧!

谢谢
xhinking
2012 年 7 月 13 日
@1272729223 书上应该有很多这样的
例子吧?
1272729223
2012 年 7 月 13 日
@xhinking 恩 谢谢 现在用django的admin系统,我大概知道怎么实现的思路(当然还需要折腾),,但是我想自己写一个后台,只要会一个,我接下去就知道怎么折腾了。
zxwind
2012 年 7 月 13 日
zxwind
2012 年 7 月 13 日
@1272729223 django的admin不是挺好的么,本来起源就是用来发布新闻的
okidogi
2012 年 7 月 13 日
@1272729223 OT了。你需要做的是找本django的教程花点儿时间看看而不是花500块钱。如果你需要一些实例: 这儿有django by example: http://lightbird.net/dbe/
tioover
2012 年 8 月 2 日
server的话用tornado怎么样?

另外,文中提到的template已经跟不上时代了,看上一次commit都是一年前半年前了。
==========
> https://github.com/xenith/django-base-template
> 这个模板比较活跃
> 基于mozilla的这个
> https://github.com/mozilla/playdoh
wenbinwu
2012 年 8 月 3 日
用Celery RabbitMQ写了一个群发邮件的,10w+ users
muxi
2012 年 8 月 3 日
@okidogi RabbitMQ配置非常简单,也有漂亮的Web管理界面,就是运维稍微复杂,Erlang打印一坨堆栈信息不知道干嘛,另外RabbitMQ虽然比较强大,也不丢消息,但他确实是史上最慢的MQ,对高效环境有需求的就不用考虑了,AMQP协议的MQ都一路货色

@judezhan 说用ZeroMQ替代RabbitMQ,个人觉得这俩就不是一路货,ZeroMQ只是简单实现了一个消息传输协议,什么都没有,没有消息可靠性检查,没有重发机制,没有监控,没有各种运维的东西,在实际项目中慎用,除非你确信你能搞定这些
tioover
2012 年 8 月 3 日
昨天用了一下刚才说的那个项目模板,默认装了一堆django app 感觉有点可怕
wenbinwu
2012 年 8 月 3 日
Mozilla的playdoh有文档的,你可以去看看:)
okidogi
2012 年 8 月 3 日
@tioover 加到文章中去了。Thanks ;-) 但是这两个的目录结构都有些复杂,跟我想象中的差别有些大,一直用django-startproject,最后更新2011-06-12,应该是一个一直都在维护的项目。
fay
2012 年 8 月 4 日
现在pinax简化了许多,一直在用,pinax强制你必须使用virtualenv(我还多用了一个virtualenvwrapper),生成的目录结构没有那么多,只有一个apps目录是和文中一致的,另外支持额外的local_settings.py,适用于本地开发时覆盖配置和额外的选项。而且基本的模块(登陆、注册),wsgi.py,都继承进去,你需要做的就是。

最重要的是pinax的核心成员来自Eldarion(如果提Gondor或许你会听过),他们的产品Gondor正是用来host、deploy django项目的,所以应该来说要靠谱些,pinax也是best practice的结果。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/42225

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX