前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >像Django学习写程序

像Django学习写程序

原创
作者头像
于欣轩
发布2018-07-12 15:14:47
6790
发布2018-07-12 15:14:47
举报
文章被收录于专栏:与技术

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的时候之前根本就没考虑到的,我觉得这是一个规划上的问题。赋值风格不一致导致国际化是一个很蛋疼的事情。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Django是什么
  • 为什么用框架
  • 为什么要自己写一个框架
  • 在客户端与移动端开发找到Django的影子
  • 项目模版生成器
  • 脚手架页面
  • 路由
  • 模型
  • 展示逻辑与数据解耦合(Templates)
  • 国际化的提前考虑
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档