10个实用的Django建议

fmms 13年前
     <p align="left">        原文:<a title="Posts by Glen Stansberry" href="/misc/goto?guid=4958333915290746277" rel="nofollow" target="_blank">Glen Stansberry</a></p>    <p align="left">        前言:随着 Django1.4 第二个候选版的发布,虽然还不支持 Python3,但 Django 团队已经在着手计划中,据官方博客所说,Django1.5将会试验性的支持 python3。</p>    <p>        Django 作为一个杰出的 Python 开源框架,或许得不到和其它流行框架如 <a href="/misc/goto?guid=4958183258527670296" rel="nofollow" target="_blank">Rails</a> 这样多的赞美,但是它和其他框架一样精炼,非常注重 DRY (Don’t Repeat Yoursef)原则、组件的重用性,通过自动化过程使编码更简洁。</p>    <p>        如果在 Django 项目中能够灵活使用某些方法和技巧的话,它将大大加快软件开发的速度同时避免很多头疼的事。作者在下面列举了几点,这些方法由浅入深,可以帮助任何级别的程序员更加熟练的使用 Django。</p>    <p>        <strong>0、  在配置中使用相对路径</strong></p>    <p>        某些原因使得项目可能常常会被来回的迁移。如果没有事先规划好这种可能性的话这绝对是一个棘手的问题。Rob Hudson 有一个极好的技巧能够确保你的 Django 项目在部署过程中能够轻松的来回迁移。仅仅只要编写几行代码在你的配置文件(settings.py)中。</p>    <div class="cnblogs_code">     <pre><span style="color:#0000ff;">import</span> os    BASE_DIR = os.path.dirname (os.path.abspath (<span style="color:#800080;">__file__</span>))    TEMPLATE_DIRS = (    BASE_DIR + <span style="color:#800000;">'</span><span style="color:#800000;">/templates</span><span style="color:#800000;">'</span>,    )</pre>    </div>    <p>        <strong>1、  使用{%url%}标签</strong></p>    <p>        尽可能使用向后兼容的{%url%}标签来替换硬编码形式的 href,与使用绝对路径的 url (当然最好不要这样做) 一样达到相同的效果。你的 Django 项目迁移起来,那些链接也不会有影响。(译者注:比如说我们有一个 views.about 函数指向 about 页面r’^about/$’,就可以{% url views.about as about_url %}然后用{{about_url}}这个变量来代替绝对 URL 地址)尽管它还不是最高级的技巧,但是它确实值得你应用于 Django 项目中。</p>    <p style="text-align:center;"><img alt="10个实用的Django建议" src="https://simg.open-open.com/show/bc796d7a2f8f46d7e1a8dfa905ce423e.jpg" width="600" height="300" /></p>    <p>        <strong>2、  尝试把 Django admin 应用到 PHP 项目中</strong></p>    <p>        Django 最伟大的特性之一就是已经成为 Django 的核心功能的用户验证系统。它易安装,主要用于用户认证和其它一些必要的配置。这个酷毙了的用户系统甚至被建议应用到你的 PHP 项目中去,<a href="/misc/goto?guid=4958333916839031600" rel="nofollow" target="_blank">这里</a>有一边 Jeff Croft 关于为什么 Django 能够作为任何语言任何应用中的系统管理模块的一个很好的解决方案。</p>    <p>        <strong>3、  使用独立的媒体服务器</strong></p>    <p>        在开发环境中把静态文件放在与 Django 项目所在的同一台服务器中问题并不大,但是却不要使用在生产环境中,为什么?效率问题。Jacobian.org 给出了一个合理的<a href="/misc/goto?guid=4958333917635597299" rel="nofollow" target="_blank">解释</a>。通过一台独立的服务器来处理静态文件,性能将得到有效的提升,如果不想买服务器的话,那么使用 Amazon S3 相对来更便宜。</p>    <p>        <strong>4、  使用 Debugger 工具条</strong></p>    <p>        调试工具对任何一种语言来说都是不可或缺的.他们能够加快开发的速度,指出潜在的缺陷.  Rob Hudson 开发了一个对开发人员非常有用 django<a href="/misc/goto?guid=4958333918415182612" rel="nofollow" target="_blank">调试工具</a>。</p>    <p>        <strong>5、 使用 Django 单元测试</strong></p>    <p>        利用<a href="/misc/goto?guid=4958333919210073064" rel="nofollow" target="_blank">单元测试</a>确保你代码的改变和预期的一样,而不会破坏任何老的代码,以便向后兼容。Django 一个强大的特性就是他能极其简单地写单元测试。Django 也可直接使用 python 的<a href="/misc/goto?guid=4958333920000616229" rel="nofollow" target="_blank">文本测试</a>和<a href="/misc/goto?guid=4958333920784936281" rel="nofollow" target="_blank">单元测试</a>。Django 的文档提供了一个详细的教程和样例代码关于怎样做单元测试使得代码正确地运行,以及去除讨厌的 bug</p>    <p>        <strong>6、 使用速查卡</strong></p>    <p>        <a href="/misc/goto?guid=4958333921583712423" rel="nofollow" target="_blank">这里</a>有两页厚的速查卡,在 Django 文档中你可能翻来覆去要找半天的东西在这里一目了然。它包含如下几个主题</p>    <p>        <strong>模板:</strong></p>    <p>        模板标签及可选项</p>    <p>        模板过滤器及可选项</p>    <p>        日期格式化语法快速查阅</p>    <p>        <strong>模型:</strong></p>    <p>        域和及选项</p>    <p>        常用域的可选项</p>    <p>        元类型可选项</p>    <p>        模型管理可选项</p>    <p>        <strong>表单:</strong></p>    <p>        域和可选项</p>    <p>        常用域可选项</p>    <p>        标准错误消息键值</p>    <p>        <strong>7、使用 Django-chunks</strong></p>    <p>        除了使用 Django 的富文本编辑器创建块更容易之外,<a href="/misc/goto?guid=4958333922381502328" rel="nofollow" target="_blank">Django-chunks</a> 同样是用于模板中,这是重用代码块的必不可少的工具。</p>    <p>        <strong>8、 使用 Memcache</strong></p>    <p>        如果性能在你的 Gjango 项目中已经成为一个棘手的问题,那么你将需要使用一些缓存策略。然而 Django 为缓存提供很多的选择。目前最好的无疑是 Memcache,用 Django 安装 memcache 非常地简单,如果你使用 cmemcache 模块的时候。只要模块安装完成后,你仅仅修改一行配置项,你的 Django 页面变得轻快起来。</p>    <p>        <strong>9、使用 Django,心动不如行动</strong></p>    <p>        在你阅读完这篇文章后如果你仍然不完全理解 Django 的强大,在你的下一个项目中使用 Django 的一个合符情理的理由就是:它能够节省各种不同软件设计的时间。Jeff Croft 解释为什么<a href="/misc/goto?guid=4958333923174999841" rel="nofollow" target="_blank">用 Django 创建一个项目比你自己设计出来的更高效</a>。Django 允许你扩展自己的 Web 站点,不需要担心设计或者代码以及数据库的兼容性,它会工作地很棒。</p>    <p>        编译:<a href="/misc/goto?guid=4958185140659301754" target="_blank">伯乐</a>在线 – <a href="/misc/goto?guid=4958332966670263477" target="_blank">刘志军</a></p>