web后端--Flask学习笔记01

一:Flask简介

Flask是一个微型的Python Web框架。 安装方式: pip install flask

第一个Flask程序:
from flask import Flask
​
app = Flask(__name__)  # 实例化程序实例
​
@app.route("/hello")
def hello():
    return "<h3 style='color:red'>你好,欢迎学习Flask课程!</h3>"
if __name__ == '__main__':
    app.run(host='0.0.0.0',port=8000,debug=True)

二:请求处理函数的返回值

1. 返回字符串 @app.route("/hello") def hello(): return "Hello Flask"

2. 返回字符串加上状态码
   @app.route("/hello")
   def hello():
       return "Hello Flask",999
​
3. 返回响应对象
   在Flask中,通过make_response()函数获取响应对象,再通过调用响应对象
   的相关方法,设置一些值(eg:设置Cookie),最后返回响应对象
   @app.route('/hello')
   def hello_world():
       response = make_response("<h3 style='color:green'>这是通过响应对象返回的响应文本</h3>")
       response.set_cookie('fruit_cookie','Apple')
       return response

三:URL捕获参数、转换参数数据类型

通过尖括号"<>"捕获URL中的参数,并可以在捕获后转换参数的数据类型,最后 传递到修饰的请求处理函数中 @app.route('/student/<name>/int:age') def introduce(age,name): return '我的名字叫%s,年龄是:%d'%(name,age)

四:flask-script插件

flask-script插件的作用:启动服务器时,动态地传递启动参数 安装方法:pip install flask-script

使用方法:
1. 将程序实例对象传入Manager中的构造方法中
   app = Flask(__name__)  # 实例化程序实例对象
   manager = Manager(app=app)
​
2. 通过manager对象启动应用
   manager.run()  # 通过Manager对象启动服务器
​
3. 启动应用时,在命令行动态传入启动参数
   python xxx.py runserver  -h 允许访问的主机 -p 开放的端口号 
   常用的启动参数:
   -h  允许访问的主机
   -p  开放的端口号 
   -d  开启调试
   -r  自动监测程序改动,自动重启服务器
   -R  不监测程序改动

五:重定向

使用redirect()函数完成重定向的功能, 可以重定向到外网站,例如: return redirect("http://www.baidu.com")

也可以重定向到本网站的另一个路由地址:
return redirect("/hello")
​
注意:可以通过将redirect()与url_for()结合的方式,进行重定向。
url_for(endpoint, **values)
其中:endpoint:是重定向地址对应的函数名
      values: 传递给重定向地址的参数(以关键字参数的方式传递)
​
例如:
return redirect(url_for("jogging",name=sportname,weather=weather))

 

六、Nginx的配置

一:Nginx简介
    Nginx是一个高性能的反向代理服务器。
    反向代理服务器在服务器端,代理的是服务器。
​
二:Nginx安装(以Ubuntu16.04操作系统为例)
    1. 在apt源文件/etc/apt/sources.list文件的末尾,添加
       deb http://nginx.org/packages/ubuntu/ xenial nginx
       deb-src http://nginx.org/packages/ubuntu/ xenial nginx
2. 从"http://nginx.org/keys/nginx_signing.key"下载签名key,并注册添加
   wget http://nginx.org/keys/nginx_signing.key
   
   sudo apt-key add nginx_signing.key
3. 更新源,并安装nginx
   sudo apt-get update
   sudo apt-get install nginx

三:启动、停止nginx服务 1. 查看当前的nginx进程 ps -ef | grep nginx

2.  使用默认配置文件启动nginx
    sudo nginx
​
3.  使用指定路径的配置文件启动nginx
    sudo nginx -c 配置文件路径
​
4.  停止nginx服务
    sudo nginx -s quit

sudo netstat -apn | grep 80
查看
 

七、Nginx的部署项

1. 安装uwsgi服务器
   pip install uWSGI
​
2. 在项目根目录下创建一个uWSGI服务器的配置文件uwsgi.ini
​
3. 启动uWSGI服务器
   uwsgi --ini uwsgi.ini
​
4. 配置自定义nginx的配置文件,配置动静分离
   eg:
   location / {
       include /etc/nginx/uwsgi_params;
       uwsgi_pass localhost:8010;
   }
​
   location /static {
       alias /var/www/MyAxf/static/;
   }
​
5. 停止nginx服务、并重新启动nginx
   sudo nginx -s quit
​
   sudo nginx -c 自定义nginx配置文件路径
   eg:
   sudo nginx -c /home/tianpan/nginx.conf

八、附录

from flask import Flask, make_response, redirect, url_for
from flask_script import Manager
​
app = Flask(__name__)  # 实例化程序实例对象
​
manager = Manager(app=app)
​
​
@app.route('/hello')
def hello_world():
    response = make_response("<h3 style='color:green'>这是通过响应对象返回的响应文本</h3>")
    response.set_cookie('fruit_cookie','Apple')
    return response
​
​
@app.route('/student/<name>/<int:age>')
def introduce(age,name):
    return '我的名字叫%s,年龄是:%d'%(name,age)
​
@app.route("/sport/<name>/<weather>")
def jogging(name,weather):
    return "<h3 style='color:blue'>I like %s in %s weather~~~</h3>"%(name,weather)
​
@app.route("/welcome/<sportname>/<weather>")
def welcome(sportname,weather):
    print("Welcome to Xi'An ")
    # return redirect("http://www.baidu.com")
    return redirect(url_for("jogging",name=sportname,weather=weather))
​
​
if __name__ == '__main__':
    manager.run()  # 通过Manager对象启动服务器
​

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值