基于 Django 框架的敏捷 Web 开发(一)
前言
传统 Web 开发方式常常需要编写繁琐乏味的重复性代码,不仅页面表现与逻辑实现的代码混杂在一起,而且代码编写效率不高。对于开发者来说,选择一个功能强大并且操作简洁的开发框架来辅助完成繁杂的编码工作,将会对开发效率的提升起到很大帮助。幸运的是,这样的开发框架并不少见,需要做的仅是从中选出恰恰为开发者量身打造的那款Web框架。
自从基于 MVC 分层结构的 Web 设计理念普及以来,选择适合的开发框架无疑是项目成功的关键性因素。无论是 Struts、Spring 或是其他 Web 框架的出现,目的都是为帮助开发者把所有的编码工作打理的井井有条、赏心悦目。在动态语言领域,Python、Ruby、Groovy 等语言在 Web 开发中也逐渐发展壮大,掀起一浪接一浪的开发热潮。面对 Ruby on Rails 渐渐深入人心的宣传攻势和火热势头,更为成熟且不乏优秀程序员的Python 社区也纷纷推出欲与之抗衡的Web开发框架。在对 Python 旗下的开发框架经过一番取舍比较之后,笔者选择了 Python 框架 Django 作为 Web 开发框架的首选,究其缘由,就是看中了 Django 新颖简洁的开发模式和巨大的发展潜力。
在下面的章节里,将通过一个完整的 Django 框架 Web 开发示例,详细讲解开发过程中 MVC 各层次代码编写过程中所需的各种要素与资源,通过实例体验 Django 为 Web开发者带来的高效与便捷。
细说Django
Django 是应用于 Web 开发的高级动态语言框架,最初起源于美国芝加哥的 Python 用户组,具有新闻从业背景的 Adrian Holovaty 是 Django 框架的主要开发者。在 Adrian 的带领下,Django 小组致力于为 Web 开发者贡献一款高效完美的Python 开发框架,并且在 BSD 开放源代码协议许可下授权给开发者自由使用。
Django 拥有完善的模板机制、对象关系映射机制以及用于动态创建后台管理界面的功能,利用 Django,可以快速设计和开发具有 MVC 层次的 Web 应用。为了打消开发者选用 Django 框架时的疑虑,首先分析一下 Django 引人注目的特性。在实体映射方面,Django 的对象相关映射机制帮助开发者在 Python 类中灵活定义数据模型,并且Django 具有功能丰富的动态数据库访问 API,可以大幅度简化书写 SQL 语句的繁杂工作。同时 Django 支持包括 Postgresql,MySql,Sqlite,Oracle 在内的多种后台数据库。Django 的 URL 分发设计的十分简洁美观,不会在链接中产生一大串杂乱且难以理解的字符。使用 Django 可扩展的内置模板,可以将模型层、控制层与页面模板完全独立开来进行编码。Django 还具有自己的 Cache 系统,如果需要,也可以根据开发者的要求嵌套其他的 Cache 框架。
起程前的准备
即使是对 Python 语言还不太熟悉,Django 开发的起步过程对于新手来说也并不复杂,通过使用 Django 框架完成下面的 Web 应用开发,可以在过程的每个步骤之中体会到 Django 框架赋予开发者的敏捷与自由。
在开始之前,首先要配置好Python和Django的开发环境,下面的示例将在Windows操作系统下进行,与Linux/Unix操作系统环境下的开发过程相比,仅在环境变量配置等方面略有不同。目前Python的最新版本是2.5.1,在官方站点Python.org下载安装包后搭建好Python的编译运行环境,接下来还需要把Python的安装路径添加在系统环境变量path里面,以便在命令行下使用Python进行编译及运行。
Django目前的最新发行版本是0.96版,其压缩包可以在官方站点djangoproject.com下载。解压后进入Django目录,在命令行里执行python setup.py install,这样Django就会作为第三方模块被安装在Python的site-packages目录中,然后把Django中bin目录的路径添加到环境变量path里面,这样在命令行里就可以方便的使用Django提供的各种指令。