您的位置:首页 > 编程语言 > Go语言

Django 新人开发的十个注意点

2013-08-09 14:42 260 查看
总结一下 Django开发中,注意的事项,特别是新人,由于水平有限,也只能到这个层次,更多模式思想性的东西,还得在开发中慢慢体会。

1.各个APP独立,做到项目的模块分明。说的有点大,列几个列子优先

from project.bookmark.models import Tag


该例子将项目名称加入其中是不合适,缺点在于:应用和项目变成了紧耦合,无法将应用轻易变得可重用。如果将来要换一个项目名称,那你可有得受了。

推荐的做法是

@models.permalink
def get_absolute_url(self):
return ('profileurl2',(),{'userid': self.user.id})


View Code

在模板中使用url标签代替硬编码:

{% url askquestiondisplay 345 %}
<a href="{% url askquestiondisplay 345 %}"> Ask Question </a>


8,调试

调试通常会借助一些第三方工具来获得更多的运行时信息。

一个请求执行了多少句SQL?花了多长时间?

调用的哪个模板?客户端设置了什么COOKIE?SESSION呢?。。。

你可以使用django-debug-toolbar查看上面甚至更多的信息:http://github.com/robhudson/django-debug-toolbar

另一个工具是Werkzeug debugger,它可以在错误页面打开python shell,让你更方便的跟踪错误信息,请访问:http://blog.dpeepul.com/2009/07/14/python-shell-right-on-the-django-error-page/ 获得更多信息。

还有pdb,一个强大的调试工具:http://ericholscher.com/blog/2008/aug/31/using-pdb-python-debugger-django-debugging-series-/

9,了解pinax备用

django最大的优点是代码重用,DRY,pinax就是这样一个平台,包含了许多可拿来直接使用的代码,比如openid,电子邮件验证等等。请访问:http://pinaxproject.com/

10,了解一些著名的第三方应用

1)数据库升级工具

什么是数据库升级工具?你运行了syncdb,运行了一年之后,对模型做了更改,添加了字段,删除了字段,要再运行syncdb吗?或者ALTER TABLE ...?

django-evolutions可以帮你完成上面的事情,但它好像不够强壮:http://code.google.com/p/django-evolution/

South能很强壮地完成上面的事情,但是需要学学怎么用:http://south.aeracode.org/

2)模板系统

django自带的模板系统是可以替换的,并且各自有优缺点。

template-utils增强了模板的比较标签等功能 ,并提供其他的一些实用特性:http://django-template-utils.googlecode.com/svn/trunk/docs/

Jinja是一个完整的第三方模板系统,可以替换默认模板系统,它提供了许多优越的特性:http://jinja.pocoo.org/2/

3)第三方应用

django command extensions提供了很多实用的命令行功能:

shell_plus加载所有django模型

runserver_plus整合了Werkzeug调试工具

生成模型图表,你可以展示给你的老板

……

请参考:http://ericholscher.com/blog/2008/sep/12/screencast-django-command-extensions/

Sorl可以生成缩略图:http://code.google.com/p/sorl-thumbnail/

…………

---END---

另外,从原文的评论里也有不少发现:

用django.shortcuts的redirect代替HttpResponseRedirect:http://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect

使用VirtualEnv部署django项目

django项目规范:http://ericholscher.com/projects/django-conventions/project/

上面提到的10点中,第2和第4是最容易在新手中发生的。

第6点并不适合于团队协作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: