从数据库中读取数据生成表单在页面显示,表单数据显示空白(flask-admin+pymongo+mongodb)

wangdapeng0201 2014-06-06 10:15:18
小弟初学flask-admin框架(无web编程基础),在做练习时,遇到如标题所述问题,起初下面这套代码是能够准确生成数据的,但是在后来的测试中,删除数据库数据,结果在浏览器刷新表单数据就为空了,代码如下:
#encoding:utf-8
import pymongo
from flask.ext.admin import Admin, BaseView, expose
from flask import Flask
from flask.ext import admin
from wtforms import form, fields
from flask.ext.admin.contrib.pymongo import ModelView, filters
app = Flask(__name__)

#creat models
conn = pymongo.Connection('127.0.0.1',27017)
db = conn.test
#userdata = db.userdata
#userdata_info = db.userdata.find({})

class UserLogForm(form.Form):
date = fields.DateTimeField(u'Date',format='%Y-%m-%d %H:%M:%S')
protocol = fields.TextField(u'Protocol')
srcipaddr = fields.TextField(u'Srcipaddr')
srcport = fields.TextField(u'Srcport')
desipaddr = fields.TextField(u'Desipaddr')
desport = fields.TextField(u'Desport')
form_columns = ('date','protocol','srcipaddr','srcport','desipaddr','desport')

class UserLogView(ModelView):
column_list = ('date','protocol','srcipaddr','srcport','desipaddr','desport')
#column_exclude_list = ('_id')
column_labels = dict(date=u'日期',protocol=u'协议',srcipaddr=u'源ip地址',srcport=u'源端口',desipaddr=u'目的ip地址',desport=u'目的端口')
column_sortable_list = ('date','protocol','srcipaddr','srcport','desipaddr','desport')
column_default_sort = ('date',False)
column_filters = (filters.FilterGreater('date','Date'),filters.FilterSmaller('date','Date'))
can_create = False
can_delete = False
can_edit = False
form = UserLogForm

@app.route('/')
def index():
return '<a href = "/admin/">Click me to get to Admin!</a>'

if __name__ == '__main__':
admin = admin.Admin(app,u'日志采集')

admin.add_view(UserLogView(db['userdata'],u'日志信息'))

app.run(host='0.0.0.0',debug = True)
错误图片显示:
说明:这套代码是参考https://github.com/mrjoes/flask-admin/blob/master/examples/pymongo/simple.py修改而来的……还请各路大神帮忙小弟!!!
...全文
682 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2014-06-08
  • 打赏
  • 举报
回复
你的代码在我这儿测试没问题.估计是你后来加的数据(collection名字或字段名)有问题:既然空白表格的行数随数据的数量增加,collection的名字应该是对的.检查数据的字段名是否正确(包括大小写).
wangdapeng0201 2014-06-07
  • 打赏
  • 举报
回复
怎么就没人回答……是分值太低,还是问题太简单……
随着云计算快速发展和SaaS模式普及,多租户架构共享基础设施为多个租户提供服务,但数据存储在同一数据,隔离机制不完善将导致跨租户数据泄露。据云安全联盟统计,数据隔离失效是SaaS应用面临的首要安全风险。针对现有多租户系统在隔离粒度、控制灵活性和策略可定制性方面的不足,本文提出细粒度数据隔离与精细化访问控制方案,基于Java+Spring Boot+MyBatis-Plus+MySQL实现,含租户管理、数据隔离、权限配置、访问控制、安全审计五个核心模块。核心创新有三方面:其一,TENANT-ROW-ISOLATION行级数据强制隔离机制,设计ORM拦截器层与数据视图层双重隔离架构,ORM层自动注入租户条件防止遗漏,数据层通过租户视图和行级安全策略实现强制隔离,并支持AES-256加密存储和动态数据脱敏;其二,RBAC-ABAC-HYBRID混合访问控制模型,以RBAC实现粗粒度权限管理,以ABAC实现基于用户属性、资源属性、环境属性的细粒度动态授权,支持权限继承、职责分离和临时授权;其三,DYNAMIC-POLICY动态安全策略引擎,支持租户自定义访问控制、数据脱敏和审批规则,实时生效,支持优先级、冲突检测、版本管理和决策缓存。实验表明,数据隔离有效性达100%,越权访问拦截率99.2%,认证授权平均延迟2.3ms,隔离查询开销小于5%,策略评估延迟1.8ms,系统在隔离粒度、控制灵活性和策略可定制性方面较传统方案优势显著,为SaaS多租户应用提供了有效的数据安全防护方案。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧