当前位置: 首页 > news >正文

网站建设资讯平台湖北城市建设职业技术学院网站

网站建设资讯平台,湖北城市建设职业技术学院网站,婚礼纪网站怎么做请帖,win7 iis6.0添加网站1、flash() get_flashed_messages() : 用来消耗flash方法中存储的消息 使用flash存储消息时,需要设置SECRET_KEY flash 内部消息存储依赖了session 2、CSRF(Cross Site Request Forgery) 跨站请求伪造,指攻击者盗用你的身份发送恶意请求 CSRFProt…

1、flash()

get_flashed_messages() : 用来消耗flash方法中存储的消息

使用flash存储消息时,需要设置SECRET_KEY

flash 内部消息存储依赖了session

2、CSRF(Cross Site Request Forgery)   跨站请求伪造,指攻击者盗用你的身份发送恶意请求

CSRFProtect解决CSRF

<1>安装扩展包 flask-wtf

from flask_wtf.csrf import CSRFProtect

<2>设置SECRET_KEY便于设置CSRF token: 

app.config['SECRET_KEY'] ='ssddddaaddsa'

<3>创建CSRFProtect对象,保护app对象:CSRFProtect(app)

<4>在表单中设置csrf_token即可:

<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">

3、ORM(Sqlalchemy) 对象关系映射

优点:不在编写sql,无需关心数据库类型

缺点:性能有缺失

配置步骤:

from flask_sqlalchemy import SQLAlchemy
from flask import Flaskapp = Flask(__name__)
app.app_context().push()
#配置数据库信息,这里是mysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:abin0033@127.0.0.1:3306/mydatabase'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#是否显示底层的sql语句
app.config['SQLALCHEMY_ECHO'] = True
app.config['SECRET_KEY'] = 'abin'
#关联app
db = SQLAlchemy(app)
#编写模型类
class User(db.Model):__tablename__ = "userinfo"id = db.Column(db.Integer, primary_key=True)userid = db.Column(db.String(50), nullable=False) #不能为空password = db.Column(db.String(50), nullable=False)if __name__ == "__main__":#创建表db.create_all()#删除表db.drop_all()

4、数据库的增删改

常见方法:

db.session.add(obj) #添加单个

db.session.add_all([obj1,obj2]) #添加多个

db.session.delete()#删除单个对象

db.session.commit()#提交会画

db.drop_all()#删除继承自db.Model所有表

db.create_all()#创建继承自db.Model所有表

db.session.rollback() #回滚

db.session.remove()#移除会话

5、数据库的查询

基本查询:模型.query.查询过滤器.查询执行器

查询过滤器(可写):filter()、filter_by()、limit()、offset()、order_by()、group_by()

查询执行器(必写):all()、first()、first_or_404()、get()、get_or_404()、count()、

paginate()(分页)

xxx.query.paginate(page,per_page,Error_out)

page:总页数;per_page:当前页;Error_out:建议false,查询不到不会报错

数据库关系查询relationship,在模型类中添加,不会在数据库产生实体字段

db.relationship('多方的模型类', backref=‘xxx’)

backref='xxx'  添加反向属性,表示反向查询

懒查询lazy

使用了relationship,backref,系统会自动做子查询,即将关联的一方查询出来

db.relationship('多方的模型类', backref=‘xxx’, lazy='dynamic')

dynamic:动态查询,只有用到了才会查询

subquery:子查询,查询出一方就会将关联的一方查询出来

http://www.yayakq.cn/news/209483/

相关文章:

  • 国外哪个网站做服装批量刷wordpress评论
  • 昌平最好的网站建设提供零基础网站建设教学培训
  • 旅游网站建设答辩ppt义乌外贸论坛
  • 杭州 网站建设公司头像制作器
  • 网站空间可以通过什么获取电子商务网站数据库怎么做
  • 网站正在建设中永久找网站公司企业备案
  • 绍兴专门做网站wordpress登录卡死
  • 外贸建站服务推广公司wordpress完全开发手册
  • 丹徒建设网官方网站网站建设招标文件
  • 教育培训类网站建设与维护杭州seo推广服务
  • 酒店官方网站建设书企业标志
  • 有什么网站可以做平面兼职做英语四级题的网站
  • 国外域名注册哪个网站好农药放行单在哪个网站做
  • 可以做微信游戏的网站有哪些网络快速排名优化方法
  • 手机能建网站吗电脑登录不了建设银行网站
  • 企业网站建设多钱温州好的网站推广
  • 化工类网站建设推广网上企业名称预先核准系统
  • 深圳做网站 创同盟做外贸在哪个网站
  • 做网站电脑配置要求个高吗网站建设管理岗位职责
  • 仪征建设银行官方网站0基础12天精通网站建设
  • 网站图片上传不了怎么办建设工程自学网站
  • 辛集建设局网站wordpress 留言 插件
  • 做代码和网站dedecms游戏门户网站源码
  • 万户做网站好不好宁波网站建设公司
  • 四川省安全社区建设网站wordpress代码审计如何进行
  • 曲阜市住房和城乡建设局网站阿里巴巴官网首页官网
  • 网站开发项目说明书浅谈高校图书馆网站建设
  • 通辽市城乡建设局网站网业加速器
  • 武隆集团网站建设深圳设计周展会2023
  • 网站统计分析平台做网站的哪里便宜