您的位置:首页 > 其它

flask初步使用

2017-09-28 20:21 260 查看
from flask import Flask
from flask import render_template, redirect,url_for
from flask import request

app = Flask(__name__)

@app.route('/login', methods=['POST','GET'])
def login():
error = None
if request.method == 'POST':
if request.form['username']=='admin':
return redirect(url_for('home',username=request.form['username']))
else:
error = 'Invalid username/password'
return render_template('login.html', error=error)

@app.route('/home')
def home():
return render_template('home.html', username=request.args.get('username'))

if __name__ == '__main__':
cfg = {
'debug': True,
'host': '0.0.0.0',
'port': 8000
}
app.run(**cfg)
home.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>home</title>
</head>
<body>
<h1>wlcome {{username}} , this is home</h1>
</body>
</html>


login.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>login</title>
</head>
<body>
<form style="margin:20px;border:1px solid red" method="post" action="/login">
<span>username:</span><input type="text" name="username" id="username"><br/>
<span>password:</span><input type="password" name="password" id="password"><br/>
<button type="submit" id="loginBtn">login</button>
</form>
{% if error %}
<h1 style="color:red">{{ error }}!</h1>
{% endif %}
</body>
</html>


两个文件全部放入templates文件夹中,然后python run.py并且在
浏览器中输入:
inet:8000/home
inet:8000/login即可
inet是ifconfig -a命令中得到的局域网ip,替换到上面两处即可。

注意,代码中的0.0.0.0仅仅是表示局域网(也就是非127.0.0.0地址)访问可用,想要外网访问需要额外的设置。
而网上所谓的手机也可以打开,前提条件是手机和电脑使用了同一个局域网(或者通俗但是不精确的讲,两者连接了同一个wifi)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: