博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask 模版语言及信息传递
阅读量:4839 次
发布时间:2019-06-11

本文共 4016 字,大约阅读时间需要 13 分钟。

if语句

格式:

{% if command %}{
% elif %}{
% else %}{
% endif %}

 

代码示例

flask_one.py

#encoding:utf-8from flask import Flask,url_for,redirect,render_templateapp = Flask(__name__)@app.route('/
')def index(is_login): if is_login == "1":        #模拟1为登陆成功 user = { "aa":"test", 'bbb':'注销', 'age':"11" } return render_template('index.html',users=user) else: return render_template('index.html')if __name__ == '__main__': app.run(debug=True)

 

index.html

    
Title {% if users and users.age >10 %}        #这里的users为py文件里传递的user字典,users.age为py文件user字典里的age {
{ users.aa }}
{
{ users.bbb}}
{% else %} 登陆 注册 {% endif %}

url入口:127.0.0.1/{1,0..}

 

for语句

格式:

{% for .. %}{
% endfor %}

 

代码实现:

flask_one.py

#encoding:utf-8from flask import Flask,url_for,redirect,render_templateapp = Flask(__name__)@app.route('/')def index():    users = {        'username':'tsdf',        'age':11    }    return render_template('index.html',user=users) if __name__ == '__main__':    app.run(debug=True)

 

index.html

    
Title {% for k,v in user.items() %}        #for语句

{

{ k }}----{
{ v }}

{% endfor %}

 

redirect 传数据到模板语言(flash)

from flask import redirect,flash@app.route('/register',methods=['GET','POST'])def register():    if request.method == 'GET':        return render_template('register.html')    else:        phone = request.form.get('phone')        uname = request.form.get('username')        pwd = request.form.get('password')        pwd1 = request.form.get('password1')        user = User.query.filter(User.phone == phone).first()        if user is not None:            return "用户已经存在"        else:            if phone == "" or uname == "":                flash('手机号或者用户名不能为空')                return redirect(url_for('register'))            elif pwd != pwd1:                flash('两次输入的密码不匹配')                return redirect(url_for('register'))            else:                user = User(phone=phone,username=uname,password=pwd)                db.session.add(user)                db.session.commit()                # user = User.query.filter(User.phone == phone).first()                # print (user)                return redirect(url_for('login'))

 

模板语言:

{% extends 'common.html' %}{% block title %}    注册{% endblock %}{% block head %}    
{% endblock %}{% block body %}

注册

{% for message in get_flashed_messages() %} {

{ message }} {% endfor %}

{% endblock %}

 

 

代码示例:

flask_one.py

#encoding:utf-8from flask import Flask,url_for,redirect,render_templateapp = Flask(__name__)@app.route('/')def index():    books = [        {
'name':'西游记','author':'吴承恩','price':111}, {
'name': '红楼梦', 'author': '曹雪芹', 'price': 121}, {
'name': '水浒传', 'author': '施耐庵', 'price': 131}, {
'name': '三国演义', 'author': '罗贯中', 'price': 141} ] return render_template('index.html',book=books)if __name__ == '__main__': app.run(debug=True)

 

index.html

    
Title
{% for book in book %}        #for循环列表并打印字典里的内容
{% endfor %}
书名 作者 价格
{
{ book.name }}
{
{ book.author }}
{
{ book.price }}

 

 自定义错误信息

@app.errorhandler(404)def page_noe_found(error):    return render_template('home/404.html'),404@app.errorhandler(500)def page_noe_found(error):    return render_template('home/500.html'),500

 

转载于:https://www.cnblogs.com/FRESHMANS/p/8428565.html

你可能感兴趣的文章
构建执法第二章读后感
查看>>
【收藏】win7打开word每次提示配置解决办法
查看>>
POJ1143 Number Game(DP)
查看>>
等价类划分例子中的些许添加
查看>>
《剑指offer》---斐波那契数列
查看>>
Vue自定义指令(directive)
查看>>
webservice使用注解修改WSDL内容
查看>>
SystemView 破解方法记录
查看>>
【vijos1642】班长的任务
查看>>
JavaScript入门基础(四)
查看>>
校内的hu测(10.5)
查看>>
Windows Forms高级界面组件-使用对话框
查看>>
Objective-C中的深拷贝和浅拷贝
查看>>
超实用的JQuery小技巧
查看>>
设计模式——单例模式 (C++实现)
查看>>
UML和模式应用学习笔记(6)——系统顺序图、系统操作和层
查看>>
Android -- startActivityForResult和setResult
查看>>
1019 General Palindromic Number (20 分)
查看>>
关于c语言中指针的一些理解
查看>>
Expm 2_2 查找中项问题
查看>>