如何设计Flask web应用程序?

MrChi
  • 489

最近在学习《Flask web开发》这本书,基本上已经跟着书把书中的示例代码都写了一遍。现在感觉对Flask有些入门了,想自己写一个Flask应用,但是又感觉无从下手。

据说好的程序员应该用大于50%的时间做设计,其它时间写代码。目前我能想到的设计项目有:

  • 程序逻辑、功能设计(用户使用时的流程,该实现哪些功能)

  • 数据库模型设计(Models)

  • 表单设计(Forms)

  • 路由设计(Views)

  • Jinja模版设计(Templates,包括可以复用的模版代码)

  • 前端设计(准备使用bootstrap框架,但仍然要考虑:该在哪个页面引入哪个页面的超链接,比如登录页面中添加一个注册的链接;页面内容的布局)

  • 安全设计(在前端和后端都要对用户的提交做限制,以及对用户权限的检查)

请问各位大神在做Flask web开发的时候思路是怎样的?我列出的这些是否正确,该以一个怎样的顺序进行?

回复
阅读 3.7k
5 个回答

谢邀~

其实像题主这类问题并不适合在这里提问,毕竟这里这是一个解决具体的实际问题的社区,而题主疑惑的是一个大的方向。

要问怎么学习,没有什么其他方法,动手做,读源码。对于你目前的状况,规划太多不动手做也没用。

建议从一个最简单的登录功能开始,登录成功后显示登录用户信息。所以这里会牵涉到数据库用户表、表单提交、密码校验、登录跳转等基本操作。当这个功能完成了,再扩展其他功能,也就可以信手拈来了。觉得自己写前端不好看就用你说的bootstrap前端UI框架,也可以做一个漂亮简单的小网站。

之后你可以去思考你想要做一个什么样的东西,学习产品相关的知识,把它当做自己的一个产品不断补充完善。慢慢的你可以购买云服务域名,部署到服务器上,这样你就学习到了运维的基础知识。这个时候你会试着去推广自己的产品,你可以去补充运营相关的知识。渐渐的你有了用户,你想着去融资了,你要做BP,深入挖掘商业模式,以后的以后...

太多了,但这些都是想象,你得完成第一步,就是你要先实现一个登录功能,加油吧!我也是从菜鸟一步一步走来,我能理解,也能包容,但我更希望你能够脱离书本实实在在的写点东西,当你这样去做了,或许你就不会有这样的疑问了。

谢邀~


先说一句,谁说的好的程序员 50% 的时间花在设计上?扯淡!好的程序员 80% 的时间花在重构(UT)上!

我认为题主的问题在于想太多,做太少。

开发一个 Web 程序怎么做?我选择 Flask 就是因为开发够快,自己熟悉一套 Flask 的代码组织结构,这样整个代码框架就搭起来了。代码的最终目的无非是操作数据,所以把数据(Model)定义好,其他的什么 view,service 无非就是对数据的 CRUD。

同样是 CRUD,为什么有的人就写得那么好?除了经验之外,重构必不可少,好代码都是打磨出来的,这个时候是体现工匠精神的时候,然而,在大环境下,能重构1-2次的人不多,能有时间和耐心重构个3-5次的人就更少了,所以好的设计也不多,因为我认为好的设计也是重构出来的。

最后补一句:UT 是重构的基石。

对,差不多就这些方面。根据业务需求设计model,view实现业务逻辑,前端的选择方案就很多了。可以先写个博客、发微博之类的app练手。

我最近也在学习这本书,我觉得题主可以先从小的项目开始入手,等做完粗糙的原型后在对细节进行优化。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏