Hello World???

这也未免太幼稚了吧??
接下来,我们直接启动一个项目。
打开你们的终端机,依次输入以下的指令。

bash
# 下载我们的项目
$ git clone https://github.com/sing-gor/learn_python.git

# 进入 learn_python 目录
$ cd learn_python

# 切换到 web-base-0 分支
$ git switch web-base-0

# 进入 demo 目录
$ cd demo

# 创建 一个名为 learn_python 的python3.8的虚拟环境
$ conda create -n learn_python  python=3.8

# 根据自己的系统来选择执行指令
# 激活虚拟环境
# Mac / Linux
$ source activate learn_python

# Windows
$ activate learn_python

# 使用 pip 安装必要的第三方插架
$ pip install -r requirements.txt

# 启动项目
$ python manage.py runserver 0.0.0.0:8000

接下来,打开浏览器,输入http://localhost:8000/,回车。

本系列的安排

上面的步骤需要一点点时间才能完成。
在这里,先讲一下,为什么本系列会叫《如何成为Python全端工程师指北

因为接下来,我会通过做项目来讲解Python的Web开发,而不是从输出一个hello world来开始。
简单来讲,不会按照文档或书籍,一步一步从基础讲起。
而是,直接通过做项目来学习各种业务知识。
下面的是流程

  • 一个网站的工作原理
  • 使用Django搭建你的个人博客
  • 优化你的个人博客
  • 使用Django创建Bootstrap4或5的通用组件
  • 未完待续

后续安排,如无意外的是论坛和一个C To C的电商网站,看情况而定。

Programming is thinking, not typing

在一开始的20多个章节(预计),只需要写注释复制粘贴改变量名,来理解代码,而不是敲代码。

为什么是Django

Django是python的Web框架,属于是大而全的类型。
相当于是Ruby的Ruby On Rails 、PHP的laravel、Java的Spring Framework。
可以开箱即用,大大地减少我们开发的工作量。使我们可以快速开发。

但这里有人会产生疑问,为什么不是FlaskFastApi
这两个不是更简单吗???
我听很多人都说这两个更好容易上手,代码少,性能比Django更快,操作简单、对新手友好。
Django代码繁多、啰嗦、文档长、笨重、性能差,学习成本高、一点都不自由等等。
甚至有人说: 高手用Flask,菜逼才用大而全的框架
对于这个疑问,答案如下:
如果你已经学过Web开发,从其他语言转过来的,学那个都无所谓。
如果你是新手小白,只是刚学过python的基础语法。
我的答案是,都要学。
只不过,先学Django,再去学Flask或FastApi。

理由如下: 以个人博客这个项目为例 肯定会用到以下的这些知识:

  • MVC架构设计
  • ORM
  • Form
  • 静态资源与模板配置
  • 模板语法
  • 登录验证
  • 用户权限系统
  • 网站的后台界面
  • 各种中间件
  • 路由表设计
  • 数据库迁移
  • ……

用Flask的话,上面这些知识都必须要学,学完才能开始做一个个人博客项目。
而你选择Django,你只需要关注以下几点:

  • ORM
  • 模板语法
  • 静态资源与模板配置
  • 路由表
  • 视图层

你就能快速地完成个人博客这个项目。

虽然说,一开始使用了Django会让我们失去了很多造轮子的能力,但是这些能力是可以回头再学的。
记住一句话:

Done is better than perfect.
by Ben Barry

完成比完美更为重要。