首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|前后端分离开发-学习路线及资料

Python|前后端分离开发-学习路线及资料

作者头像
算法与编程之美
发布2020-04-20 12:31:50
2K0
发布2020-04-20 12:31:50
举报

人生苦短,我用python。python开发web项目在以前总是因为其运行效率低下而受到诟病,但随着硬件设备性能的不断提升,间接弥补了这一缺点。并且因为python开发的高效性,python web开发也受到越来越多人的关注。

本文小编将向大家推荐一条python前后端分离的项目开发学习路线,并分享小编收藏的学习资料(文末)。

提示

无论是哪种开发路线,都有一些硬性的共同要求:

html、css、js、数据库原理(搭配一种数据库语言如sql)。这四个部分要有一定的基础,不是太好也行。

前后端分离的项目开发主要由以下五个部分组成:

前端静态页面

前端数据处理及交互

前端项目管理框架

后台数据处理、收发

数据库

路线:

bootstrap+vue+(webpack,nodejs,vue-cli)+python flask+python records

前端静态页面

也就是html和css搭建的静态网页部分,想要自己做一个完整又漂亮的网页,靠纯手写html和css代码不仅工作量大,而且容易出各种BUG。这时就需要借用到前端框架,用来快速的搭建静态页面。

框架推荐:

BootStrap4

全球最流行的前端开源框架之一,用于构建响应式、移动设备优先的 WEB 站点。

实用、稳定,响应式(更好的用户体验),各种组件拿来即用,用较少的代码便能实现网页到app页面的完美过渡。风格简约大气也就意味着不算太漂亮,但是你可以自己写样式覆盖。

上手难度:⭐

Layui

国人开发,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈。

美观、简单、快速、组件多,而且功能集成度高,适用于专注于后台开发的人员。只是页面的响应式操作一般。

上手难度:⭐

前端数据处理及交互

在前端页面接收后台发送的数据后,需要将其更新到静态页面上,以及对于用户的各种操作(如点击、添加、删除数据等),需要向后台发送相关请求。这些东西靠js硬肝,难度大。所以需要简单又强大的js框架来快速的完成这些操作。

框架推荐:

Vuejs

简单而又强大的js框架,国人大佬尤雨溪的开源项目,是最流行的前端框架之一。

提供数据的双向绑定(一端数据改变,另一端数据随之改变),功能强大,易上手。社区资料丰富。

上手难度:⭐⭐

Reactjs

谷歌开源的js框架,组件、扩展更加完善、稳定。提供强大的灵活性和响应能力。但是学习曲线比较陡峭。

上手难度:⭐⭐⭐

前端项目管理框架

这是初学者最容易忽略的部分,抛开后端开发不谈,想靠html+css+js这三大件开发完整的前端项目是远远不够的,在具体的开发中需要做好各种开发配置、扩展管理等,如果都靠手动配置,将导致开发时间和学习成本直线上升。这时候一个好的项目开发管理框架就能让我们专注于项目的实现,而不用过多的去操心各种配置。

各种项目管理框架需要配合使用,如webpack+nodejs+vue-cli等。

上手难度:⭐⭐

这部分的学习资料将附加到前两部分的学习资料中。

后端数据处理、收发

对于前端发送的数据,需要后台进行接收、处理以及回应。Python最流行的后台开发框架主要有两个,django和flask。

Flask

微框架,小而精,使用灵活,组件丰富,可以根据需要添加各种组件。

上手难度:⭐⭐

Diango

完整的项目开发架构,提供一站式的解决方案,也就是说Django一开始的目标就是为以后玩大的做准备。

上手难度:⭐⭐⭐

对于新手建议先从Flask入手。

数据库

数据库的作用就不言而喻了,在python中对数据库进行操作的第三方库比较多,这里推荐两个比较流行的。

Flask-SQLAlchemy和Records

均支持Oracle、Mysql、Sqlite等关系型数据库,都是基于SQLAlchemy的二次开发。

Flask-SQLAlchemy集成于flask中,通过自定义的规则实现对不同数据库的操作,但是代码比较复杂,有多复杂可以百度一下Flask-SQLAlchemy看看相关代码。

上手难度:⭐⭐⭐

Records支持原生sql语句操作不同数据库,如果已经掌握sql,分分钟便能上手(so easy),而且不用管理数据库的连接状态,功能强大(比如支持事务操作),以下是操作案例。

上手难度:⭐

import records # 获取数据库db = records.Database('mysql+pymysql://root:@localhost:3306/dev01_git')# 查询rows = db.query('select * from lemon_user')# 连接数据库db = records.Database('mysql+pymysql://root:@localhost:3306/dev01_git') # 创建表sql_create_table = """CREATE TABLE IF NOT EXISTS lemon_user ( name varchar(20), age int) DEFAULT CHARSET=utf8 ;""" db.query(sql_create_table)

学习资料

Bootstrap4

视频教程:https://www.imooc.com/course/list?c=bootstrap

中文官方文档:https://v4.bootcss.com/docs/getting-started/introduction/

教程多为3的版本,建议直接看官方文档,实在看不懂,看部分3的视频之后再去看4的文档,栅格系统是核心知识。

学习时长:如果已经有html和css基础,只需花上几个小时便能上手。

Vue+axios+webpack+nodejs(npm)+vue-cli

视频教程:https://www.bilibili.com/video/BV15741177Eh?t=2&p=87

这是一个完整的前端项目开发教程,也是小编看过的所有教程中最好的。

学习时长:69小时,包含多个完整项目案例。

Flask

官方文档:https://dormousehole.readthedocs.io/en/latest/

视频教程版本台太旧,不建议观看。初始阶段只需浏览官方文档掌握简单的路由及数据收发部分即可。

Records

在掌握数据库原理知识后,直接百度Records文章即可。

Vue+Flask完整项目文档教程(收费)

文档教程:https://www.shiyanlou.com/courses/878

实验楼99元教程,版本比较老,把之前的看完这个就没太必要买,有钱的可以买来参考参考。

总结

可以先学习简单的flask案例,再学习前端开发内容(案例测试需要用到后台接口),所有教程时间加起来不到100个小时,加加油,就能开发自己的应用。

END

主 编 | 王文星

责 编 | 马原涛

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档