Django
我和Django ¶
我使用python的很大一部分缘由就是django。虽然在之前也用过python,不过始终没有什么特别的感受。而后接触到了django。能够说django很是对个人胃口,特别是他的admin给人的感受特别的棒。
django是个专断且执拗的框架,框架里用的组件都是本身写的,并且每每会“知错不改”。因此用django就要试着thing in django,接受django所谓的设计哲学,若是接受不了那就换pylons或ROR什么的试试吧。
django并不完美,但这并不妨碍她成为一个优秀的web开发框架。 css
资源
使用django搭建的站点
django的开源项目
- pinax 这是我看到的最有价值的django开源项目。pinax能够看作是django的一个脚手架。她提供了快速开始一个新django项目的方法,同时对大 量第三方app的使用方法进行了演示。django的app质量良莠不齐,若是你想挑选app,那你能够看看pinax里都集成了哪些app。pinax 里集成了的app一般都不至于太烂。此外pinax自身也带了一些有用的app,好比blog等。
若是你想以最快的速度了解pinax,能够去 http://cloud27.com/ 看看。这是一个用pinax搭建的SNS网站。
- Satchmo 网店系统。看她的介绍,彷佛已经有很多人在用这东西了。
- LFS(Lightning Fast Shop) 网店系统,就Demo来看彷佛是倾向于房屋交易平台。陆陆续续的也有部分商业网站开始使用该系统了, 好比这个。
- reviewboard 很是有前途的一个code review工具。最开始是 VMware在用,来后给开源了。
django相关资源
- twitter-bootstrap twitter开源的前端UI解决方案。对于缺乏美工的开发者而言利用bootstrap能够很方便的做出还不错的界面。
- Fabric Fabric是一个Python库,能够经过SSH在多个host上批量执行任务。你能够编写任务脚本,而后经过Fabric在本地就可使用SSH在大量远程服务器上自动运行。这些功能很是适合应用的自动化部署,或者执行系统管理任务。
- virtualenv 用于在一台机器上建立多个独立的python运行环境。使用virtualenv能够避免因在一台机器上部署多个应用时出现的python库版本冲突问题。
- Gunicorn Gunicorn 绿色独角兽'是一个Python WSGI UNIX的HTTP服务器。有着不错的性能,并且使用很是简单。instagram使了Gunicorn。
django的可重用APP
Django Packages 这个网站将可复用组件进行归类,并以表格的形式进行对比。若是你想找Django可重用APP,去这个网站是最方便的。我这里只对我认为最优秀的Django APP进行整理。 html
项目组织
django没有统一的项目组织规范,因此django项目的目录组织方式都各不相同。为解决该问题,也出现了一些相关项目。 前端
CMS
- Django CMS Django CMS与其说是一个APP,倒不如说这是一个框架。Django CMS是目前开源Django CMS中功能最为完善的一个。Django CMS提供了插件接口,能够方便的以插件的方式进行扩展。此外,目前现成可用的插件也已经有一大堆了。
Forum
Django的论坛APP很多,但到就目前而言,尚未什么杀手级的APP。 python
- DjangoBB 功能比较完整。不过我认为搞的有些复杂了,易用性通常。若是你贪图它相对强大的功能,又不怕麻烦的话,能够试试。
- LBForum 我开发的论坛应用。优势是界面漂亮(提供了 FluxBB和 V2EX两种界面风格),部署简单,功能方面就不怎么强大了。若是你想要一个简单易用的Django论坛系统,推荐这个。
Blog
用Django写Blog数量众多(多是数量最多的Django应用了),我虽然也写了一个,但我是不会去用这些Django博客。Blog很重要的一点是那些漂亮的模板。若是使用这些小众的东西,实在是难以找到让人满意的模板。 jquery
- zinnia 功能比较完善的一个Django博客,界面比较清爽。简单的看了一下她的代码,感受写的很规范。比较看好这个博客系统。若是你想用django搭建本身的博客,推荐试试。
调试
数据库升级
在项目开发过程当中表结构的变更老是不免,django目前还不支持表结构的自动更新,不过相关的第三方app倒很多。 git
- South South已经比较成熟了,就目前而言South是该类APP的不二选择。
注册、认证
权限认证
- django-guardian Django提供了精确到对象的权限控制API(好比那些人有权限编辑具体的某个文档),但Django并无相关的实现。django-guardian给出了该API的实现,让你能够实现对具体对象的权限控制。
css/js静态资源压缩
Tagging
为站点增长Tag功能 github
Avatar(用户头像)
翻页
搜索
RESTful
消息队列(异步执行)
- django-celery web应用中不免会有些很费时的操做须要做成异步处理(好比在后台发送邮件,更新索引等),django-celery就是为解决该问题出现的。
其余