flask admin是flask框架中一个非常好用的后台管理框架,但是由于文档内容太少,经常遇到问题无法解决,这里记录一下

一简单的使用

from flask import Flask
from flask_admin import Admin
# csrf
from flask_admin.form import SecureForm
from flask_babelex import Babel
# 文件上传
# from flask_admin import form as admin_form from wtforms import form, fields, validators from flask_admin.contrib.pymongo import ModelView
from pymongo import MongoClient from werkzeug.security import check_password_hash # 文件上传
# from flask_admin.contrib.fileadmin import FileAdmin
# import os.path as op # file_path = op.join(op.dirname(__file__), 'static') app = Flask(__name__)
babel = Babel(app)
app.config['SECRET_KEY'] = 'xxx'
app.config['BABEL_DEFAULT_LOCALE'] = 'zh_CN'
client = MongoClient(host='xxx’, port=27017)
db = client.test
db.authenticate('xxx', 'xxx')
Rentals = db.rentals class RentalsForm(form.Form):
city = fields.StringField(u'城市') class RentalsView(ModelView):
column_labels = dict(
_id = u'编号',
city = u'城市',
) form_base_class = SecureForm
# 文件上传
# form_extra_fields = {
# 'picture': admin_form.ImageUploadField(label=u'照片', base_path=file_path)
# }
column_list = ['_id', 'city']
form = RentalsForm if __name__ == '__main__':
admin = Admin(app, name=u'后台管理系统')
admin.add_view(RentalsView(Rentals, name=u'个人房源'))
app.run

二filed.FieldList,field.FormField的使用

在使用数据库mongodb的时候会遇到某个字段是个列表

这时候就可以使用field.FieldList

features = fields.FieldList(unbound_field=fields.StringField(u'配置'), label=u'房屋配置', min_entries=10)

这样编辑的时候就会有10个配置可以编辑,修改min_entries可以增加编辑的个数

保存之后是个列表

但是如果该字段是个列表,列表元素都是字典怎么办

这时候可以搭配FormField来使用

class PictureForm(form.Form):
id = fields.StringField(u'编号')
description = fields.StringField(u'描述')
url = fields.StringField(u'url路径')
    picture = fields.FieldList(unbound_field=fields.FormField(PictureForm), label=u'图片', min_entries=10)

搞定了

flask admin学习记录的更多相关文章

  1. Phyton Flask框架学习记录。

    注意:在左侧菜单栏(在JQuery插件库下载的)右边是采用<iframe> 标签嵌入其他页面,此时标签的src应用用后台中的方法名称(本人测试用的是无参数的方法), 而页面跳转window ...

  2. [ZHUAN]Flask学习记录之Flask-SQLAlchemy

    From: http://www.cnblogs.com/agmcs/p/4445583.html 各种查询方式:http://www.360doc.com/content/12/0608/11/93 ...

  3. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  4. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  5. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  6. mondb 常用命令学习记录

    mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...

  7. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  8. SVN教程 -- 基于自己学习记录

    SVN教程 -- 基于自己学习记录 1. 概述 a. 什么是SVN? Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统.相较于 git ,svn 是集中式版本控 ...

  9. Solr学习记录:Getting started

    目录 Solr学习记录:Getting started 1.Solr Tutorial 2. A Quick Overview Solr学习记录:Getting started 本教程使用环境:jav ...

随机推荐

  1. Swift中的类型属性(静态变量)

    http://blog.haohtml.com/archives/15098 Swift中的类型属性(静态变量) Posted on 2014/06/13 类型属性语法 在 C 或 Objective ...

  2. 内存管理相关函数 -- Linux【转】

    转自:http://blog.csdn.net/cy_cai/article/details/47001245 1.kmalloc()/kfree() static __always_inline v ...

  3. isatty

    isatty - test whether a file descriptor refers to a terminal #include <stdio.h> #include <u ...

  4. SVN的配置和使用

    1.安装前必备 获取 Subversion 服务器程序 到官方网站 http://subversion.tigris.org/    我下的是CollabNetSubversion-server-1. ...

  5. swipper插件引起的a链接失效问题

    在使用swiper过程中,发现a链接失效,此处没有效果,问题是 swiper是基于移动端触摸的,会有一个全局的click事件,这个事件屏蔽了A标签的链接,是为了防止手机滑动的时候不小心触发A标签而设定 ...

  6. 【转载】bash: ifconfig: command not found 解决办法

    原本使用ifconfig 可以使用,今天是怎么了,可能安装软件修改了,百度~~ [oracle@localhost /]$ ifconfig 提示:“bash: ifconfig: command n ...

  7. tomcat的环境配置

    针对java8 选择tomcat进行配置 Tomcat 环境变量配置: 下载:http://tomcat.apache.org/download-80.cgi 解压后直接copy到C盘,这是免安装版本 ...

  8. 洛谷 P1824 进击的奶牛【二分答案/类似青蛙过河】

    题目描述 Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚,这些隔间分布在一条直线上,坐标是x1,...,xN (0<=xi<=1,000,000 ...

  9. cogs p服务点设置

    5. P服务点设置 ★★   输入文件:djsc.in   输出文件:djsc.out   简单对比时间限制:2 s   内存限制:128 MB 问题描述为了进一步普及九年义务教育,政府要在某乡镇建立 ...

  10. Linux命令之find(一)

    find [-H] [-L] [-P] [-Olevel] [-D help| tree| search| stat| rates| opt| exec] [路径] [表达式] find是查找文件的命 ...