`
luliangok
  • 浏览: 840351 次
文章分类
社区版块
存档分类
最新评论

Django的第一印象

 
阅读更多
Django (/ˈdʒæŋgoː/) 是用python语言写的开源web开发框架(open source web framework),鼓励快速开发,并遵循MTV设计模式。其主要目的是简便、快速的开发数据库驱动的网站。

Django遵守 BSD版权,目前最新的稳定版(stable)是2011年9月发布的v1.3.1。

Django 的名称来源于比利时的爵士音乐家Django Reinhardt,他是一个吉普赛人,主要演奏吉它。


与rails一样,Django强调 松耦合少写代码快速开发DRY一致性等原则。但Django与rails在设计哲学上最大的不同在于,Django强调“显示说明优于隐含意义”,这一点来自于Python的核心原则。

这一设计哲学的不同使得Django与rails有很大的不同:Django不喜欢“魔术代码”。尽管魔术代码看起来很酷,但是存在着如下问题:

1)语法晦涩难懂,除了编程语言外,你还需要了解一门自定义的DSL
2)相对于编程语言,DSL更加不稳定,可能会经常变化
3)如果你想理解其实现方式,需要花费比较大的精力
4)魔术代码可以很容易地实现某些特定的功能,但是如果你想在此基础上做一些改变,就会变得非常困难
所以,Django不喜欢“魔术代码”,而是强调代码的可理解、可控制

比如《Agile Web Development with Rails》中开篇用来吸引人的那个例子,一个关于项目的Model类:


看上去很神奇对吗?但是你马上就会提出几个问题:

1)除了关联关系外,对象自身的属性在哪里定义?

2)non_discolosure_agreement是什么属性?

3)validates_xxx 之类的语法到底有多少种?

...

本文并不是以介绍rails为主,所以上述问题在这里不作回答。但是为了与Django的Model对比,还需要补全rails 模型的另外一个部分:migration。事实上,在rails中,上面的Model还需要一个db migrate 类一起才能工作:


Django的设计是 以Python类的形式定义数据模型,通过ORM与数据库联系起来。同时约定为了避免“猜谜游戏”,不应该仅仅依赖字段的命名来预示其可能的行为,而是通过关键的参数来定义操作。

上述Model类在Django中以如下简单明了的方式来实现:


Django的代码清楚明白,每一条语句都很明确。这就是Django的风格。(顺便说一句,Django的灵活性不以牺牲外键关联为代价,而rails的数据库中不支持外键关系)
分享到:
评论

相关推荐

    Django_mock系统登录页面所用的css

    在IT行业中,CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档...记住,良好的前端设计对于任何Web应用来说都是至关重要的,因为它直接影响到用户的第一印象和使用体验。

    基于Django框架的Python电商网站设计源码

    前端设计元素是现代Web技术的重要组成部分,它决定了网站给用户的第一印象和互动体验。在这个项目中,前端元素很可能包括响应式设计、动画效果、用户友好的导航栏以及交互式购物车等功能,这些都需要HTML、CSS和...

    cookiecutter-django-shop:Cookiecutter django-SHOP是基于django-CMS的电子商务网站的蓝图

    对其功能产生第一印象。 选择与您的要求最相似的配置示例。 然后用您自己的实现替换产品模型和模板。 快速操作方法 ,将 , 和安装到您的操作系统上 在Ubuntu上 检查您的默认Python版本是否为3.5或更高版本。 在...

    Django 写的应用商店 初型

    3. 应用图标和文件管理:图标是用户对应用的第一印象,而文件则是应用的实体。这部分功能需要支持上传应用的图标图片,以及对应用安装包、更新包等进行上传和更新管理。 4. 应用说明图和视频说明:良好的应用描述...

    基于python+django+mysql大数据反电信诈骗管理系统.md

    系统首页是用户进入系统的第一印象,其布局和功能设计经过仔细考虑,旨在提升用户体验。通过参考同行业设计元素,使系统更贴近用户日常生活,增加了用户的亲切感。 在技术层面,博主熟练使用Java、Python、C#、C、...

    Django-3-Web-Development-Cookbook-Fourth-Edition:Packt发布的Django 3 Web开发指南

    《Django 3 Web开发指南》是Packt出版的一本专为Django 3框架编写的实战手册,旨在帮助开发者掌握使用Python语言构建高效、安全且...在实践中不断探索和学习,你将能够利用Django 3构建出令人印象深刻的Web应用程序。

    Django语法,例如Go的模板引擎-Golang开发

    pongo2 pongo2是pongo的后继者,它是Django语法(如templating-language)。 使用go get安装/更新(pongo2不需要任何依赖项):go get -u github.com/flosch/pongo2如果您是pongo2 pongo2的继承者,请...模板的第一印象

    基于Django框架的贵州特色产品销售平台的设计与实现lw+ppt.rar

    前端设计往往决定着用户的第一印象,因此在技术上需要运用HTML5、CSS3、JavaScript等技术,制作出响应式、美观大方的界面。另外,为了提升用户体验,还需使用Ajax技术实现无需刷新页面即可与服务器通信的功能,以及...

    Django-Tutorial:Django简介

    通过丰富的第三方应用市场,如Django Packages,Django能够轻松集成各种功能,如支付处理、邮件服务、地图API等。 4. **分层架构**: Django的MVT架构允许开发者在各个层面上进行独立工作,提供了良好的模块化...

    图书推荐系统-基于Web,使用python的Django框架开发,数据使用Scrapy进行采集+源代码+文档说明

    想到了通过两种方式来显示,一种是普通的显示,也就是一条一条评论的显示,一种是直接全部文字的词云显示,可以让读者第一时间知道其他人对这本书的第一印象 7.同时需要注意的是,所有关于通知的内容(续借,...

    Start-BootStrap-Landing-Django

    这样的页面设计至关重要,因为它直接影响到用户的第一印象和使用体验。 【标签】"HTML" 提示我们项目中会涉及到HTML(超文本标记语言)的基础知识。HTML是网页内容的结构化标记语言,用于定义网页的基本元素和布局...

    pongo2:Django语法,例如Go的模板引擎

    2 pongo2是Django语法,例如...模板的第一印象< html > < head > < title >Our admins and users</ title > </ head > {# This is a short example to give you a quick overview

    Witchcraft

    在IT行业中,字体设计是视觉传达的关键组成部分,它影响着用户对数字内容的第一印象和阅读体验。"Witchcraft"这个主题,从标题和描述来看,似乎与一种独特或者神秘的字体风格有关,可能旨在创造一种魔法、奇幻或复古...

    基于Python技术的蓝鲸2018课程项目奖项申报源码设计

    README文件通常包含项目的基本说明、安装和运行指南等,是项目的第一印象,对于用户和开发者了解项目至关重要。readme.txt可能是对中文用户更友好的项目说明文件,内容可能与README相似。 这个项目是一个利用Python...

    100套IT简历模板

    最后,一定要注意简历的排版和语法错误,这会直接影响到第一印象。使用模板时,要确保所有字段和段落都已正确填写,并进行多次校对。 总的来说,"100套IT简历模板"提供了一个全面的指南,帮助求职者在竞争激烈的IT...

    【python毕业设计】智能旅游推荐系统源码(完整前后端+mysql+说明文档+LW).zip

    首页为用户提供直观的第一印象和快速入口,个人中心允许用户管理自己的账户信息和旅游偏好设置。用户管理模块涉及注册、登录、权限分配等基本功能,保证系统的安全性和用户数据的私密性。旅游资讯管理、景点信息管理...

    ShoppingMallProject.rar

    首先,前端设计是用户与系统交互的窗口,它决定了用户的第一印象。项目中可能包含HTML、CSS和JavaScript等文件,这些是构建网页的基本元素。HTML定义了页面结构,CSS负责样式和布局,而JavaScript则处理用户交互,如...

    程序员表白

    1. **页面设计**:这是网页的第一印象,它可能包括精心挑选的背景图片、色彩搭配以及布局设计。程序员可以使用HTML和CSS来创建网页结构和样式。HTML(HyperText Markup Language)用于定义内容,如文本、图像等;CSS...

    刘超 1410711061 论文 求职网站的设计与实现.zip

    前端界面构建关乎用户的第一印象和使用体验。刘超可能运用HTML、CSS和JavaScript构建了页面结构、样式和交互效果。现代前端框架如React或Vue.js也可能被用于提高开发效率和用户体验。他可能特别关注了响应式设计,...

    校园风光网站完整版

    首先,前端部分是网站的门面,它决定了用户的第一印象。在这个项目中,学生可能使用HTML5、CSS3和JavaScript来构建网页结构、样式和交互。HTML5用于创建网页的基本元素,如标题、段落和图片;CSS3则用于美化页面,...

Global site tag (gtag.js) - Google Analytics