分享

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

 算法与编程之美 2020-08-08

前言

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

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

提示

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

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

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

前端静态页面

前端数据处理及交互

前端项目管理框架

后台数据处理、收发

数据库

路线:

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

前端静态页面

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

框架推荐:

BootStrap4

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

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

上手难度:

Layui

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

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

上手难度:

前端数据处理及交互

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

框架推荐:

Vuejs

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

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

上手难度:⭐⭐

Reactjs

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

上手难度:⭐⭐⭐

前端项目管理框架

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

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

上手难度:⭐⭐

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

后端数据处理、收发

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

Flask

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

上手难度:⭐⭐

Diango

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

上手难度:⭐⭐⭐

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

数据库

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

Flask-SQLAlchemyRecords

均支持OracleMysqlSqlite等关系型数据库,都是基于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./docs/getting-started/introduction/

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

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

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

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

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

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

Flask

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

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

Records

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

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

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

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

总结

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





END

主  编   |   王文星

责  编   |   马原涛

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多