软件所需环境的安装(Ubuntu18.04)
git的安装:
git是一款免费的、开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目
第一步:
通过运行以下命令确保系统和apt包列表完全更新
sudo apt-get update
sudo apt-get upgrade
第二步:
在Ubuntu 18.04上安装git
sudo apt install git
可以使用以下命令来查看git的版本:
git --version
到此安装完成git
flameshot的安装:
第一步:输入安装命令
sudo apt install flameshot
第二步:配置快捷键
setting---->device---->keyboard---->添加(+)---->按图片中配置好
Pycharm的安装(Ubuntu 18.04):
第一步:进入官网下载好安装包(2019.1.4 for Linux)
第二步:打开文件并且解压到当前文件夹
第三步:进入到问价的bin目录,并且找到pycharm.sh
第四步:安装pycharm——在bin目录下打开终端输入
sh ./pycharm.sh
第五步:安装好pycharm后如何在桌面创建链接:
网上有很多教程都是通过新建桌面文件来创建链接,但是我是尝试过各种修改文件就是没成功,然后发现有个很简单,很简单,很简单的办法,前面我真的是好蠢,好蠢,好蠢
进入pycharm---->Tools---->create desktop entry---->ok
这样就创建了桌面链接,真的是好蠢啊之前
到此就完成了pycharm的全部安装
flask web开发
pycharm环境的配置:
第一步:创建Python虚拟环境
pycharm中:
Ubuntu系统中:
# 安装venv包
sudo apt-get install python3-venv
# 创建虚拟环境
python3 -m venv virtual-environment-name
-m venv选项的作用是以独立的脚本运行标准库中的venv包,后面的参数为虚拟环境的名称
# 创建venv目录
python3 -m venv venv
这里就是一个全新的虚拟环境,包含这个项目专用的Python解释器
注:虚拟环境是Python编辑器的一个私有副本,在这个环境中可以安装私有包,而且不会影响系统中安装的全局Python解释器,可以避免安装Python版本和包与系统预装的发生冲突,为每个项目单独创建虚拟环境,可以保证应用只能访问所在虚拟环境中的包
第二步:激活虚拟环境
Ubuntu系统:
source venv/bin/activate
激活成功后为下图这样:
若使用pycharm创建好的虚拟环境无需激活:
第三步:安装所需库(在虚拟环境下输入):
pip install flask
执行这个命令后,pip不仅安装Flask自身,还会安装它的所有依赖
任何时候都可以使用以下命令查看虚拟环境中安装了哪些包:
pip freeze
应用的基本结构
1.初始化
所有的Flask应用都必须创建一个应用实例,Web服务器使用一种名为Web服务器网关接口(WSGI,Web server gateway interface)的协议,把接收自客户端的所有请求都转交给这个对象处理。应用实例是flask类的对象,通常由下述代码创建:
from flask import Flask
app = Flask(__name__)
# app为应用实例
Flask类的构造函数只有一个必须指定的参数,即应用主模块或包的名称
Flask用__name__这个参数确定应用的位置,进而找到应用主模块或包的位置
1.2 路由和视图函数
路由:处理URL(Uniform Resource Locator,统一资源定位器——简称:网址)和函数之间关系的程序。
客户端(例如Web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask应用实例。
在Flask应用中定义路由的最简便方式,是使用实例提供的app.route装饰器:
@app.route('/')
# route 的参数为URL,若为‘/’则表示应用程序的根地址
def index():
return '<h1>Hello world'</h1>'
此例吧index函数作为应用根地址的处理程序,使用app.route装饰器注册视图函数
响应:客户端接收到的内容,例如在上例中,在浏览器访问http://localhost:5000/后,会触发服务器执行index()函数,这个函数的返回值称为响应。
Flask支持可变的URL,只需要在app.route装饰器中使用特殊的句法即可,如下:
@app.route('/user/<name>)
# 其中放在尖括号里面的name就是可变成分
def user(name):
return '<h1>Hello {}!</h1>'.format(name)
1.3 一个完整的应用
综上所述,hello.py应用脚本定义了一个实例、一个路由和一个视图,如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
1.4 Web开发服务器
Flask应用自带Web开发服务器,通过flask run启动命令,这个命令在FALSK_APP环境变量指定的Python脚本中寻找实例
Linux下运行(已经激活虚拟环境):
输入:
export FLASK_APP=hello.py
flask run
如下图所示:
如显示此终端,表示服务器以运行,然后打开浏览器输入:http://localhost:5000/查看运行结果
注:在终端运行按CTRL+C终止程序。
在pycharm中(虚拟环境):
在pycharm中运行不能使用flask run语句,需要在代码结尾添加上app.run():
然后在浏览器中输入http://localhost:5000/查看运行效果:
问题:在pycharm中按CTRL+C无法终止程序,不知为何,只能使用pycharm中自带的终止程序按钮:
1.5 动态路由
动态路由的代码如下所示,在浏览器中访问这个动态URL时,会看到一条个性化的信息,包含在URL中提供的名字:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, {}!</h1>'.format(name)
在终端启动服务器:
运行结果如下:
1.6 调试模式
Flask应用可以在调试模式中运行,这个模式下,开发服务器默认会加载两个便利的工具:重载器和调试器。调试模式默认时禁用的。
Linux下:
export FLASK_APP=hello.py
export FLASK_DEBUG=1 # 词句就是启用调试模式
flask run
pycharm下:
app.run(debug=True)