flask web开发(四) web表单 csrf,重定向

# -*- coding: cp936 -*-
import os
import sys
import logging.config
import flask
import socket
from flask import Flask,jsonify
from flask import request
from flask import abort
from flask import redirect
from flask import make_response
from flask_wtf import Form
from flask import render_template,session,url_for,flash
from wtforms import StringField,SubmitField
from wtforms.validators import Required
from flask_bootstrap import Bootstrap
 
app = Flask(__name__)
app.config['SECRET_KEY']='hard to guess string'
#需要再写个文件 app.config.from_pyfile('config.py')
#内容为 SECRET_KEY = 'hard to guess string'
# 程序设置密钥,flask-wtf使用密钥生成加密令牌,防止CSRF,即跨站请求伪造的攻击

bootstrap=Bootstrap(app)
app.config.from_pyfile('config.py')

class NameForm(Form):
    name=StringField('What is your name?',validators=[Required()])
    submit=SubmitField('Submit')

 
@app.route('/',methods=['GET','POST'])
def index():
    #name=None
    form=NameForm()
    if form.validate_on_submit():
        #name=form.name.data
        #form.name.data=''
        session['name']=form.name.data
        return redirect(url_for('index'))
    #return render_template('user.html',form=form,name=name)
    return render_template('user.html',form=form,name=session.get('name'))
                                                                                                                                                    
if __name__ == "__main__":
    ip='0.0.0.0'
    app.run( host=ip,port=5000,debug=False )

user.html
 

{%  extends "base45.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Flasky{% endblock %}

{% block page_content %}
<div class="page-header">
    <h1>Hello,{% if name %}{{name}}{% else %} Strange!{% endif %}</h1>
</div>
{{wtf.quick_form(form)}}
{% endblock %}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值