0
点赞
收藏
分享

微信扫一扫

Flask——入门

_阿瑶 2022-03-19 阅读 63
pythonflask

目录

flask原始框架

from flask import Flask
 
app = Flask(__name__)
 
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
 
if __name__ == '__main__':
    app.run()

将其命名为flask_test_demo.py,然后用python解释器来运行。

路由

现代Web应用的URL十分优雅,易于人们辨识记忆。route()装饰器吧一个函数绑定到对应的URL上。还可以构造含有动态部分的URL,也可以在一个函数上附着多个规则。

from flask import Flask
 
app = Flask(__name__)
 
 
@app.route('/')
def index():
    return 'Index Page'
 
 
@app.route('/hello')
def hello():
    return 'Hello World'
 
 
if __name__ == '__main__':
    app.run()

变量原则

要给URL添加变量部分,可把特殊字段标记为<variable_name>,这一部分将会命名为参数传递到函数。规则可以用<converter:variable_name >指定一个可选的转化器。

from flask import Flask
 
app = Flask(__name__)
 
 
@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return 'User %s' % username
 
 
@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return 'Post %d' % post_id
 
 
if __name__ == '__main__':
    app.run()

HTTP方法

HTTP(与Web应用回话的协议)有许多不同的访问URL方法。默认情况下,路由只回应GET请求,但通过route()装饰器传递methods参数可改变这个行为。

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        do_the_login()
    else:
        show_the_login_form()

模板渲染

用python生成html,可以使用render_template() 方法来渲染模板。你需要做的一切就是将模板名和你想作为关键字的参数传入模板的变量。

from flask import Falsk,render_template
 
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

WTF 表单

# coding:utf-8
# flash 消息闪现
from flask import Flask,render_template,request,flash
from flask_wtf import FlaskFrom
from wtforms import StringField,SubmitField,PasswordField
from wtforms.validators import DataRequired,EqualTo
 
app = Flask(__name__)
app.secret_key ='itheima'
 
# 给模板传递信息 flash 模板中需要遍历消息
#需要对内容加密,因此需要设置secret_key,做加密信息的混淆
# 使用WTF实现表单 自定义表单类
class LoginForm(FlaskForm):
	username = StringField('用户名')
	password = PasswordField('密码')
	password2 = PasswordField('确认密码')
	submit = SubmitField('提交')
@app.route('/form',methods=['GET','POST'])
def login():
	login_form=LoginFrom()
	return render_template('index.html',form=login_form)
@app.route('/',methods=['GET','POST'])
def index():
	#request:请求对象---获取请求方式,数据
	#1.判断请求方式
	if request.method =='POST':
		# 2.获取请求的参数
		username =request.form.get('username')
		password =request.form.get('password')
		password2 =request.form.get('password2')
		print password
		#3.判断参数是否填写 &密码是否相同
		if not all([username,password,password2]):
			#print '参数不完整'
			flash ('参数不完整')
		elif password !=password2:
			#print '密码不一致'
			flash ('密码不一致')
		else:
			return 'success'
		
    return render_template('index.html)
 
 
if __name__ == '__main__':
    app.run(debug=True)
举报

相关推荐

Flask入门

Flask 入门4:Flask 模板

Flask入门【1】

Flask 快速入门

0 条评论