1,content_processor

  • 上下文处理器应该返回一个字典,字典中的key会被模板中当成变量来渲染
  • 上下文处理器返回的字典,在所有页面中都是可以使用的
  • 被这个装饰器修饰的钩子函数,必须要返回一个字典,即使为空也要返回

登陆的时候才会显示用户名。

from flask import Flask,render_template,g,url_for,request,redirect,session
import os
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24) @app.route('/')
def hello_world():
# print("index")
return 'index!' @app.route('/login/' ,methods=['GET','POST'])
def login():
# print("login")
if request.method == "GET":
return render_template('login.html')
else:
username = request.form.get('username')
password = request.form.get('password')
if username == "1" and password == "1":
session['username'] = "1"
return 'Success to login in!'
else:
return redirect(url_for('login')) @app.route('/edit/')
def edit():
##1和 #2都是一样的意思,但是1更方便,hasattr() 函数用于判断对象是否包含对应的属性。
if hasattr(g,'username'): #1
# if session.get('username') == "1": #2
return render_template('edit.html')
else:
return redirect(url_for('login')) # before_request:在请求之前执行的,在视图函数执行之前执行的。
# before_request只是一个装饰器,他可把要设置为钩子函数的代码放到视图函数执行之前来执行。
@app.before_request
def my_before_request():
print('hw')
# 有username证明用户是登陆状态
if session.get('username'):
g.username = session.get('username') #g?
# 相当于在每一个视图函数(如‘/’,/login/执行前都会执行这个函数。) @app.context_processor
def mycp():
return {"username":"1"}
if __name__ == '__main__':
app.run()

11content_processor的更多相关文章

随机推荐

  1. python实现单链表及链表常用功能

    单链表及增删实现 单链表高级功能实现:反序,找中间结点,检测环等 参考: https://github.com/wangzheng0822/algo

  2. protoc-c 阅读笔记

    以前和山哥做过类似的,最近想起来,抽空又看了下 protoc-c. 山哥做的报文流向: rpc -> lydtree -> motree -> struct 涉及的细节很多 1) l ...

  3. 1.ffmpeg、ffplay、ffprobe命令使用

    1.学前知识 1.1视频码率值 码率公式: 码率(kbps)=文件大小(KB)*8/时间(秒) 所以码率和视频文件大小成正比的,不过码率超过一定值后,人眼是看不出效果的. 接下来,我们便先来学习ffm ...

  4. 多测师讲解ui自动化框架设计思想_高级讲师肖sir

    UI自动化框架:UI自动化框架可以分为8个模块,conf.data.public.pageobject.testcase.runner.report.log.conf是用来储存系统环境.数据库.邮件的 ...

  5. 多测师讲解rf _基本使用002_高级讲师肖sir

      在你安装好RF-ride之后,桌面就会生成一个RIDE图标.双击启动,界面如下:  

  6. 题解:HDU 6598

    题解:HDU 6598 Description Now, Bob is playing an interesting game in which he is a general of a harmon ...

  7. Flask之WTF

    Flask-WTF是什么? 是一个关于表单的扩展库,可以自动生成表单的HTML代码和验证提交的表单数据,并且提供跨站请求伪造(Cross-Site Request Forgery)保护的功能,使用非常 ...

  8. 【全网免费VIP观看】哔哩哔哩番剧解锁大会员-集合了优酷-爱奇艺-腾讯-芒果-乐视-ab站等全网vip视频免费破解去广告-高清普清电视观看-持续更新

    哔哩哔哩番剧解锁大会员-集合了优酷-爱奇艺-腾讯-芒果-乐视-ab站等全网vip视频免费破解去广告-高清普清电视观看-持续更新 前言 突然想看电视,结果 没有VIP 又不想花钱,这免费的不久来啦. 示 ...

  9. cmd/powershell常用命令 git常用命令

    cmd/powershell: 1. 新建文件夹: mkdir directoryName 2. 新建文件: cmd: type nul>fileName (空文件) powershell: n ...

  10. js函数工具总结

    小写字母转大写 var UP = function(s){ return s.toUpperCase().split(' ').join('_') } UP('Hedge number') 将格式为 ...