📝 Flask安装配置

← 返回笔记列表

Flask安装配置

2026年05月20日 08:56

安装python2

yum install python -y
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install -U pip

安装python3

yum update
yum -y install python3
rm -f /usr/bin/python
ln -s /usr/bin/python3.6 /usr/bin/python
#为防止yum出问题需要调整以下内容
/usr/bin/yum文件中#!/usr/bin/python替换为#!/usr/bin/python2
/usr/libexec/urlgrabber-ext-down文件中#!/usr/bin/python替换为#!/usr/bin/python2

安装flask

# python2
pip install flask
# python3
pip3 install flask

HttpServer启动脚本

设置coding utf-8兼容中文

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from flask import Flask, redirect, url_for, request, render_template, make_response
import os
import sys

app = Flask(__name__)

@app.route('/')
def index():
    return "Hello, World!"

# 映射/doSync
@app.route('/doSync')
def sync_doc():
    path = request.path
    #print(request.args.get("app"))
    val = os.system('bash /opt/showdoc/syncshowdoc.sh && bash /opt/gitbook/build.sh')
    return path

# 动态URL
@app.route('/hello/<name>')
def hello_name(name):
    return 'Hello %s!' % name

@app.route('/blog/<int:postID>')
def show_blog(postID):
    return 'Blog Number %d' % postID

@app.route('/rev/<float:revNo>')
def revision(revNo):
    return 'Revision Number %f' % revNo

@app.route('/admin')
def hello_admin():
    return 'Hello Admin'

@app.route('/guest/<guest>')
def hello_guest(guest):
    return 'Hello %s as Guest' % guest

# 请求转发
@app.route('/user/<name>')
def hello_user(name):
    if name == 'admin':
        return redirect(url_for('hello_admin'))
    else:
        return redirect(url_for('hello_guest', guest=name))

# post方法
@app.route('/login', methods=['POST', 'GET'])
def login():
    if request.method == 'POST':
        user = request.form['nm']
        return redirect(url_for('success', name=user))
    else:
        user = request.args.get('nm')
        return redirect(url_for('success', name=user))

# 返回HTML网页
@app.route('/')
def student():
    return render_template('student.html')

@app.route('/result', methods=['POST', 'GET'])
def result():
    if request.method == 'POST':
        result = request.form
        return render_template("result.html", result=result)

@app.route("/set_cookies")
def set_cookie():
    resp = make_response("success")
    resp.set_cookie("w3cshool", "w3cshool", max_age=3600)
    return resp

# 处理cookie
@app.route("/get_cookies")
def get_cookie():
    cookie_1 = request.cookies.get("w3cshool")  # 获取名字为Itcast_1对应cookie的值
    return cookie_1

@app.route("/delete_cookies")
def delete_cookie():
    resp = make_response("del success")
    resp.delete_cookie("w3cshool")
    return resp

if __name__ == '__main__':
    #app.run(host='127.0.0.1',port=4000)
    app.run(host='0.0.0.0', debug=True)

启动服务

# 传统的Python项目启动
python app.py

# 传统启动与flask启动相结合
python -m flask run -p 5000 -h 127.0.0.1

# 纯flask启动方式
export FLASK_APP=app.py
export FLASK_ENV=development
flask run -p 5000 -h 127.0.0.1
返回顶部 ← 返回笔记列表