前言:随着Django1.4第二个候选版的发布,虽然还不支持Python3,但Django团队已经在着手计划中,据官方博客所说,

Django1.5将会试验性的支持python3。Django 作为一个杰出的Python开源框架,或许得不到和其它流行框架如Rails这样多

的赞美,但是它和其他框架一样精炼,非常注重DRY(Don’t Repeat Yoursef)原则、组件的重用性,通过自动化过程使编码更简洁。

如果在Django项目中能够灵活使用某些方法和技巧的话,它将大大加快软件开发的速度同时避免很多头疼的事。作者在下面列举了几点,

这些方法由浅入深,可以帮助任何级别的程序员更加熟练的使用Django。

0、  在配置中使用相对路径

某些原因使得项目可能常常会被来回的迁移。如果没有事先规划好这种可能性的话这绝对是一个棘手的问题。Rob Hudson 有一个极好

的技巧能够确保你的Django项目在部署过程中能够轻松的来回迁移。仅仅只要编写几行代码在你的配置文件(settings.py)中。

1
2
3
4
5
6
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
 
TEMPLATE_DIRS = (
    BASE_DIR + '/templates',
)

1、  使用{%url%}标签

尽可能使用向后兼容的{%url%}标签来替换硬编码形式的href,与使用绝对路径的url(当然最好不要这样做) 一样达到相同的效果。

你的Django项目迁移起来,那些链接也不会有影响。(译者注:比如说我们有一个views.about函数指向about页面 r’^about/$’,

就可以{% url views.about as about_url %}然后用{{about_url}}这个变量来代替绝对URL地址)尽管它还不是最高级的技巧,

但是它确实值得你应用于Django项目中。

 Photo by Cloudzilla.

2、  尝试把Django admin应用到PHP项目中

Django最伟大的特性之一就是已经成为Django的核心功能的用户验证系统。它易安装,主要用于用户认证和其它一些必要的配置。

这个酷毙了的用户系统甚至被建议应用到你的PHP项目中去,这里有一边Jeff Croft 关于为什么Django能够作为任何语言任何应用

中的系统管理模块的一个很好的解决方案。

3、  使用独立的媒体服务器

在开发环境中把静态文件放在与Django项目所在的同一台服务器中问题并不大,但是却不要使用在生产环境中,为什么?效率问题。

Jacobian.org给出了一个合理的解释。通过一台独立的服务器来处理静态文件,性能将得到有效的提升,如果不想买服务器的话,

那么使用Amazon S3相对来更便宜。

4、  使用Debugger工具条

调试工具对任何一种语言来说都是不可或缺的.他们能够加快开发的速度,指出潜在的缺陷.  Rob Hudson开发了一个对开发人员非常有用

django调试工具:django-debug-toolbar

5、 使用Django单元测试

利用单元测试确保你代码的改变和预期的一样,而不会破坏任何老的代码,以便向后兼容。Django一个强大的特性就是他能极其

简单地写单元测试。Django也可直接使用python的文本测试单元测试。Django的文档提供了一个详细的教程和样例代码关于

怎样做单元测试使得代码正确地运行,以及去除讨厌的bug。

6、 使用速查卡

这里有两页厚的速查卡,在 Django文档中你可能翻来覆去要找半天的东西在这里一目了然。它包含如下几个主题

模板:

模板标签及可选项

模板过滤器及可选项

日期格式化语法快速查阅

模型:

域和及选项

常用域的可选项

元类型可选项

模型管理可选项

表单:

域和可选项

常用域可选项

标准错误消息键值

7、使用Django-chunks

除了使用Django的富文本编辑器创建块更容易之外,Django-chunks同样是用于模板中,这是重用代码块的必不可少的工具。

8、 使用Memcache

如果性能在你的Django项目中已经成为一个棘手的问题,那么你将需要使用一些缓存策略。然而Django为缓存提供很多的选择。

目前最好的无疑 是Memcache,用Django安装memcache非常地简单,如果你使用cmemcache模块的时候。只要模块安装完

成后,你仅仅修改一行配置 项,你的Django页面变得轻快起来。

9、使用Django,心动不如行动

在你阅读完这篇文章后如果你仍然不完全理解Django的强大,在你的下一个项目中使用Django的一个合符情理的理由就是:

它能够节省各种不同软件设计的时间。Jeff Croft解释为什么用Django创建一个项目比你自己设计出来的更高效。Django允许

你扩展自己的Web站点,不需要担心设计或者代码以及数据库的兼容性,它会工作地很棒。

10个实用的Django建议(转)的更多相关文章

  1. 10个实用的Django技巧和建议

    Django 作为一个杰出的Python开源框架,或许得不到和其它流行框架如Rails这样多的赞美,但是它和其他框架一样精炼,非常注重DRY(Don’t Repeat Yoursef)原则.组件的重用 ...

  2. 【秒懂】号称最为简明实用的Django上手教程(下)

    号称最为简明实用的Django上手教程(下) 作者:白宁超 2017年8月25日08:51:58 摘要:上文号称[最为简明实用的Django上手教程]介绍了django基本概念.配置和相关操作.相信通 ...

  3. ★10 个实用技巧,让Finder带你飞~

    10 个实用技巧,让 Finder 带你飞 Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 ...

  4. ★10 个实用技巧,让Finder带你飞~

    10 个实用技巧,让 Finder 带你飞 Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 ...

  5. Django框架10 /sweetalert插件、django事务和锁、中间件、django请求生命周期

    Django框架10 /sweetalert插件.django事务和锁.中间件.django请求生命周期 目录 Django框架10 /sweetalert插件.django事务和锁.中间件.djan ...

  6. 10个实用的 CSS3 按钮效果制作教程

    人们往往喜欢那些有更多互动元素的网站,因此现在很多设计师专注于他们的 CSS3 技能.这是因为 CSS3 技能可以帮助他们在很大的程度上实现所需的吸引力.这里分享的10个优秀的 CSS3 按钮效果制作 ...

  7. 10个实用的PHP正则表达式汇总

    原文 10个实用的PHP正则表达式汇总 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符.词或算式等.但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时.本 ...

  8. 【秒懂】号称最为简明实用的Django上手教程

    号称最为简明实用的Django上手教程 作者:白宁超 2017年8月24日09:37:35 摘要:Django的学习教程也是分门别类,形式不一.或是较为体系的官方文档,或者风格自由的博客文档,或者偏向 ...

  9. 分享PHP中的10个实用函数

    分享PHP中的10个实用函数 PHP的功能越来越强大,里面有着非常丰富的内置函数.资深的PHP程序员对它们可能都很熟悉,但很多参加PHP培训的PHP初学者,仍然对一些非常有用的函数不太熟悉.这篇文章里 ...

随机推荐

  1. java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"

    一.问题 使用SpringMVC和MyBatis整合,将jdbc配置隔离出来的时候出现下面的错误,百度了很久没有找到解决方法,回家谷歌下,就找到解决方法了,不得不说谷歌就是强大,不废话,下面是具体的错 ...

  2. DexArchiveBuilderException

    出现这个问题大概是因为版本资源问题 比如把TextView  改为CompatTextView 解决方法一: 在项目的build.gradle文件中查看自己导入的依赖,看看是否有重复的,如果有的话删除 ...

  3. Java网络编程之查找Internet地址

    一.概述 连接到Internet上计算机都有一个称为Internet地址或IP地址的唯一的数来标识.由于IP很难记住,人们设计了域名系统(DNS),DNS可以将人们可以记忆的主机名与计算机可以记忆的I ...

  4. linux c++环境

    set expandtab set autoindent set smartindent

  5. Android开发训练之第五章第三节——Transferring Data Without Draining the Battery

    Transferring Data Without Draining the Battery GET STARTED DEPENDENCIES AND PREREQUISITES Android 2. ...

  6. 【Laravel5.5】 laravel5 数据库配置(MySQL)

    1   进入laravel根目录.      在config目录下找到database.php文件.      显而易见这个文件是数据库相关的配置文件. 2  修改 .env 配置完database. ...

  7. 利用按钮打开tabBar页面

    场景:当tabBar上有个人中心的时候,这里假设需要登陆才可以看到个人中心A页面,在A页面onload中先判断是否登陆,如果没有登陆就跳转到登陆页面B,待输入用户名和密码,点击登陆按钮后再跳转到A页面 ...

  8. hihoCoder挑战赛28 题目2 : 二进制翻转

    题目2 : 二进制翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 定义函数 Rev(x) 表示把 x 在二进制表示下翻转后的值 例如: Rev(4)=1,因为 4 ...

  9. 编译源码 JAVA out of memory

  10. 记录一下使用Ubuntu16.0.4配置和使用docker registry

    h1, h2, h3, h4, h5, h6, p, blockquote { margin: 5px; padding: 5; } body { font-family: "Helveti ...