从数据库中读取数据生成表单在页面显示,表单数据显示空白(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修改而来的……还请各路大神帮忙小弟!!!
...全文
598 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2014-06-08
  • 打赏
  • 举报
回复
你的代码在我这儿测试没问题.估计是你后来加的数据(collection名字或字段名)有问题:既然空白表格的行数随数据的数量增加,collection的名字应该是对的.检查数据的字段名是否正确(包括大小写).
wangdapeng0201 2014-06-07
  • 打赏
  • 举报
回复
怎么就没人回答……是分值太低,还是问题太简单……

37,719

社区成员

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

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