flask学习(四)

1.消息闪现

消息闪现会在请求结束时记录信息,并(且仅在)下一请求中访问信息。
flash()函数会闪现一条消息
get_flashed_messages()函数操作消息本身,在模版中也可以使用。

实例

from flask import Flask,url_for,flash,render_template,redirect,request

app=Flask(__name__)
app.secret_key="some_secret"

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/login',methods=['GET','POST'])
def login():
    error=None
    if request.method=='POST':
        if request.form['username']!='admin' or \
            request.form['password']!='secret':
            error='Invalid credentials'
        else:
            flash('You were successfully logged in')
            return redirect(url_for('index'))
    return render_template('login.html',error=error)

if __name__ == '__main__':
    app.run()

layout.html


My Application
{% with messages=get_flashed_messages() %}
    {% if messages %}
        
    {% for message in messages %}
  • {{message}}
  • {% endfor %}
{% endif %} {% endwith %} {% block body %} {% endblock %}

index.html

{% extends "layout.html" %}
{% block body %}
    

Overview

Do you want to log in?

{% endblock %}

login.html

{% extends "layout.html" %}
{% block body %}
    

Login

{% if error %}

Error:{{error}}

{% endif %}
Username:
Password:

{% endblock %}

2.日志记录

例子:

app.logger.debug('A value for debugging')
app.logger.warning('A warning occurred (%d apples)', 42)
app.logger.error('An error occurred')

3.静态文件

静态文件主要包含CSS,Javascript,图片,字体等静态资源文件。
url_for()生成静态文件路径
url_for('static',filename='style.css')生成的路径就是“/static/style.css”
定制静态文件的真实路径
app=Flask(__name__,static_folder='/tmp')

你可能感兴趣的:(flask学习(四))