用上面几个工具做一个小网站:
代码如下:
from flask import Flask, request, render_template, redirect
app = Flask(__name__)
@app.route('/')
def index():
# argument , ?wd=python 通过url方式来传递参数
wd = request.args.get("wd")
age = request.args.get("age")
print('8'*30)
print(wd)
print(age)
print('8'*30)
return 'Hello World!'
@app.route('/login/', methods=['GET', 'POST'])
def login():
# GET:从服务器上面获取数据,传参是通过在url中传递的
# POST:在浏览器上发送数据到服务器上,传参是通过表单
if request.method == 'GET':
return render_template('login.html')
else:
telephone = request.form.get('telephone')
password = request.form.get('password')
print('telephone number : %s'% telephone)
print('password : %s'% password)
# redirect 页面跳转所用
return redirect('/')
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>
<form action="" method="POST">
<input type="text" name="telephone">
<input type="password" name="password">
<button>登录</button>
</form># 调试很久,出不来post,最后发现是因为所要表达的部分没有放在表单form里面
</body>
</html>
整个过程中需要注意 的问题:
1.@app.route('/')相当于 一个索引,引向某一个网页位置
2.get/post 两种返值方式
3.表单内的表达函数,必须放在两个form 之间
4.method用来选择返值方式
未解决问题(求大牛指点):
用的pycharm建立的flask工程,不知未何出现了运行过程中出现了OSError: [Errno 22] Invalid argument报错
想了很多种方法,未果,最后,直接重新开机,问题解决.
补充:做web开发第一步就是搭结构,如render_template 用来返回网页
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/add_blog/')
def add_blog():
return render_template('add_blog.html')
@app.route('/blog_detail/')
def blog_detail():
return render_template('blog_detail.html')
if __name__ == '__main__':
app.run()