像Django学习写程序

 Django是什么

Django是一个python的web的快速开发框架,Django也是我接触的第一个web框架。这个框架是一个比较重的框架,有些人对这件事情比较诟病,但是开发起来比较快。实际用django写一段时间python web也会体会到比较重这个问题。但是这又引出了后面一个问题。

为什么用框架

一帮菜鸟新上战场你,你给新手一个钢管,一把锤子,一把子弹他能把子弹发射出去,你给新手一把步枪他也能把子弹发射出去。就算是老手也不一定老想拿钢管和锤子当枪用。框架是一套工具,可能不如钢管,锤子灵活,但是可靠快速。但是框架的意义在于告诉于新手如何编程,指导各种人如何编程,并且快速的编程。框架告诉当年作为一个新手的我,数据库CRUD,你可以用mysql,sqlite,mongodb等等数据库,告诉用orm,告诉我资源应该放在哪里。因为觉得Django过于沉重,所以也用tornado写过python web,但是开始写torndao的时候面临的问题是在没有Django这种类似的框架提供指导的时候该如何编程。模仿django的基础功能进行开发,但是这又有了一个问题既然有django为什么要用tornado之类的自己实现一套类似的功能?这是一个很有意思的问题。如果啥都不会最好上来先用框架,如果没有什么狂拽酷炫吊炸天的需求,能用框架用框架。

为什么要自己写一个框架

重写一遍才能理解精髓,有些新语言可能没有合适的框架。

在客户端与移动端开发找到Django的影子

我做了一年多iOS开发,发现一个问题,我们每期的需求时常是在实现Django类似的功能,这件事情给我的启示就是,客户端也应该有类似的框架,这样能节省很多时间。iOS安卓开发也可以参考Django的架构解决很多问题。

项目模版生成器

用node的时候会用 express myapp 用django的时候会用 django-admin startproject mysite 每次写一个业务的时候都要用同一个模版,每加一个业务的时候大家代码风格可能不一致,用命令生成同一种业务模块模版可以节约时间和强制约束一些东西。

脚手架页面

用django的时候会有automatic admin interface,其实这是个脚手架页面,做iOS,安卓,windows等等其他客户端的时候都会用到。测试路由,测试接口,测试本地数据存储,将测试页面集成在脚手架这个模块里面。

路由

URLs and views,这个在初学iOS和安卓的时候从来没有人提到过这个,不过我发现这是现在app中必有的一个模块。我们开发的时候需要从各种地方跳到各种页面,用代码写死的办法不可能实现。同时开发中还需要对跳转过程进行统计,所以必须有url router这样的模块。

模型

Object-relational mapper与yymodel相对应,字典与模型的对应,进行http请求与json解析。 持久化层缺乏弹性。一旦出现业务需求的变更,就必须修改持久化层的接口 持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化,毒药修改持久化曾的相关程序代码,增加了软件的维护难度。

展示逻辑与数据解耦合(Templates)

写view的时候应该把展示界面与请求数据,下载数据,获取数据这样的东西解开耦合。这是一个老生常谈的问题。

国际化的提前考虑

这个是之前做公司app的时候之前根本就没考虑到的,我觉得这是一个规划上的问题。赋值风格不一致导致国际化是一个很蛋疼的事情。


转载于:https://juejin.im/post/5b48acffe51d45198e7223c9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值