Python web开发从入门到放弃

Stella981 等级 139 0 0

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

无为之用方为大用。

Python web开发从入门到放弃

越来越多的同学知道我在做软件开发,想学Python,所以都来咨询我,怎么从入门到实践,所以索性今天写一篇入门的教程。再来咨询我的同学也方便一些。

Python学习

Python web开发从入门到放弃

Python 语言的学习,我在之前我推送过一篇Python文章Python那么火,我只推荐这两本书,推荐了「Python编程从入门到实践」这本书,学习这本书你就可以开发日常小程序了。

其次开发环境,Sublime,Vim,Atom,VScode,Pycharm随你,但是我强烈推荐用Pycharm,熟练之后配合Vim,方便而又快捷。

HTTP协议

为了开发Web应用程序,光是Python方面知识还是不够的,我们还需要很多东西,比如我们访问 baidu.com 怎么返回内容给我的,这里面经历了什么,这里面需要我们的计算机网络方面的知识,其中主要需要了解HTTP协议。

我推荐两本书「图解HTTP」,「HTTP权威指南」大家可以去了解下,第一本较简单图非常多。

Python web开发从入门到放弃

第二本讲的较详细如指南一般各个方面都有涉猎。

Python web开发从入门到放弃

前端知识

另外Web开发过程会用到一些前端开发知识,比如html,css,大家可以去看看「Head First HTML与CSS、XHTML」,另外「Head First」系列的书都比较不错,讲的很容易让人理解,大家买书的时候可以优先考虑下。

Python web开发从入门到放弃

当然你也可以直接看MDN上面的内容,也是非常简单。

https://developer.mozilla.org/zh-CN/docs/Learn

Django/Flask/Tornado框架

由于是Web开发,我们需要一个快速开发的Web框架,来加快我们开发应用的速度。

这里我推荐Django,原因无他,功能强大,使用人最多,有很多成熟的工具套件,由于Django发展较快,一直没有一本非常好的书来指导,建议大家看官方文档就好。在「Python编程从入门到实践」里面有相关的Django项目了。

当然也有同学喜欢Flask,Tornado等框架的轻量简洁等,如果喜欢Flask方面的话,下面这本书是不错的,记得买第二版。

Python web开发从入门到放弃

数据库

使用了开发框架之后,我们需要把我们数据存储起来,那么我们需要数据库,数据库方面首要推荐关系性数据库MySQL,你也可以用非关系型数据库MongoDB等等。

这里我推荐一本「MySQL必知必会」,感兴趣的同学去了解非关系型数据库,其实我个人工作中使用Nosql更多一点。

Python web开发从入门到放弃

单元测试

开发之后我们需要进行测试,我们可以利用Django自带的Unittest,配合coverage可以看到测试覆盖率,当然这个过程你可能需要mock来进行模拟数据测试,有了测试猜可以保证你的代码质量和功能完备性,从入门到进阶必备的,虽然是入门文章,但还是希望一开始能养成习惯。

这里面推荐一本书「Python Web开发 测试驱动开发」。

Python web开发从入门到放弃

版本发布部署

代码开发完成之后,我们怎么把我们代码「发布」到线上服务器呢?这里我们需要学习了解一下Fabric或者Ansbile,SaltStack这一类自动化工具。

代码发布到线上服务器了,我们服务器怎么才能跑起来呢?

那么我们需要了解一下Linux服务器配置部署,Linux方面资料,这里面推荐由happypeter翻译的「The Linux Command Line」中文「快乐的Linux」命令行(关注我的公众号,回复Linux可以下载)。

我自己是看鸟哥的私房菜进行学习入门的,大家有兴趣也可以看看。

Python web开发从入门到放弃

知道了基本命令行操作,我们还需要让我们的代码在服务器上面跑起来,正如本地运行一样但是和本地又有一些不一样。

这里我们部署上线需要了解 nginx,supervisor,uwsgi/gunicorn(任意一个),nginx这方面写的好的书籍不是很多,其他几个服务大家自行Google参考对应官方文档就行。

这里有一篇nginx指南可以看看,Beginner’s Guide,点击原文。

Python Web应用程序线上服务器部署主要是采用 nginx + supervisor + (uwsgi/gunicorn) + flask/django/tornado方式。

最后

坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。

参看我之前写过的工作以后,我们如何实现自我提升

随着开发过程一定要主动学习去掌握之前不熟悉的东西,不建议抱着工作用到才学这种态度。

工作用到很多时候已经来不及了,当然这个也看个人兴趣发展。

随着网站访问量的增大,我们还需要考虑服务高可用架构,缓存,消息队列,服务化,负载均衡等等各种问题,由于这是入门指导我就不深入了。

PS:有同学问我要不要报培训班,这个问题要我回答肯定是不需要的,当然主要还是看个人水平和身边有没有从事这方面的同学,如果有学习肯定能事半功倍的。

当然关注了我的公众号的同学,肯定也是不需要的。

**********---**--****-------------- End **********---**--****--------------

往期精彩文章推荐:

Python web开发从入门到放弃

欢迎点赞,留言,转发,转载,****感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

本文分享自微信公众号 - Python爬虫与数据挖掘(crawler_python)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

收藏
评论区

相关推荐

Frida + AndroidAsync 实现 RPC
一、目标我们在之前的教程里面使用 python的Flask库启动一个web Server 来实现App函数的RPC调用。今天我们介绍一个新盆友,AndroidAsync, 用AndroidAsync来启动web Server,这样frida就直接搞定,不需要再请Python来帮忙了。 二、步骤 AndroidAsyncAndroidAsync的详细介绍大家可
小白学习python该往哪方面走小白必看
整理了Python的7大就业方向,希望大家能找到适合自己的,然后学习下去,完成人生的目标。1、Web开发(Python后端)Python有很多优秀的Web开发框架,如Flask、Django、Bootstar等,可以帮助你快速搭建一个网站。当需要一个新功能时,用Python只需添加几行代码即可,这受到了很多初创型公司的一致欢迎。像知乎、豆瓣、小米这样的大厂,
PEP 333
> > 翻译自 Python Web Server Gateway Interface v1.0 [PEP 333 - Python Web Server Gateway Interface v1.0](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.python.org%2F
13个Python web框架比较
Python程序员有很多很好的选择来创建Web应用程序和API;Django,Weppy,Bottle和Flask引领潮流。 如果正在开发一个Web应用程序并且已经选择使用Python作为构建它的语言,那么这是一个明智的选择。Python的开发成熟度,强大的库以及广泛的实际应用使其成为Web开发的必需。 现在是困难的部分:从众多可用的Python web
37. docker swarm docker service 的更新
在service 运行的情况下 进行更新   1. 创建 名为 demo 的 overlay 网络     docker network create -d overlay demo   2. 创建 python-flask-demo:1.0 服务     映射 本地的 8080 端口 到 容器的 5000端口     docker service
Asp.Net Core和Django如何选择
一、前言 ---- 最近经常听说“人生苦短,我选python”这句话,为什么python拥有如此多的粉丝,她和c#、java静态语言有哪些区别和优略呢?本篇将对python、c#主流的web框架Django和Asp.Net Core做一些分析,带给大家更多的技术认知。 ### 什么是Django Django是使用python语言开发的一套web框架,
Django基础(二):环境配置
前戏 -- ### WEB框架简介 具体介绍Django之前,必须先介绍WEB框架等概念。 web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。 一般web框架的架构是这样的: ![](https://oscimg.oschina.net/oscnet/8bd358de0b49e3508a61
Python Tornado搭建高并发Restful API接口服务
#### Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。Tornado不同于其他pytho
Python web开发从入门到放弃
点击上方“**Python爬虫与数据挖掘**”,进行关注 回复“**书籍**”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 无为之用方为大用。 ![](https://oscimg.oschina.net/oscnet/f64430c27950bcccce040bb032ea65e73a5.jpg) 越来越多的同学知道我在做
Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
点击上方“**Python爬虫与数据挖掘**”,进行关注 回复“**书籍**”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 借问酒家何处有,牧童遥指杏花村。 0 **前言**     前几天给大家分别分享了[(入门篇)简析Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框
Python 全栈开发
**如果你已经玩转了 Python 编程语言语法,肯定想用这些知识,开发一款应用程序,它可以是在网上,可以炫耀或出售,那就需要全栈式开发 Python。具体如何创建,部署和运行生产 Python Web 应用程序,参考 [Full Stack Python](https://www.oschina.net/action/GoToLink?url=https%
Python3 环境搭建
### Window 平台安装 Python: 以下为在 Window 平台上安装 Python 的简单步骤。 打开 WEB 浏览器访问 [https://www.python.org/downloads/windows/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.pyt
Python全栈快餐教程(1)
Python全栈快餐教程(1) - 用Flask处理HTTP请求 ================================ 初识Flask ------- Flask是最流行的Python web框架之一。 我们来写个最小的web应用,只有一个路由先跑进来玩玩吧。 from flask import Flask #
Python压缩和解压缩实践
工作需要,将已经打好的war包解压出来,重新压缩WEB-INF中的classes文件夹到WEB-INF.zip 那就只好从实际出发,用代码来了解一下python的压缩解压缩了。 #!/usr/bin/env python # encoding: utf-8 """ @version: 1.0 @autho
Python异步Web编程
![](https://oscimg.oschina.net/oscnet/c170345b07b2bf0b8c076ee4350fe145ad0.jpg) 异步编程适用于那些频繁读写文件和频繁与服务器交互数据的任务,异步程序以非阻塞的方式执行`I/O`操作。这样意味着程序可以在等待客户机返回数据的同时执行其他任务,而不是无所事事的等待,浪费资源和时间。