小弟初学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修改而来的……还请各路大神帮忙小弟!!!