Skip to content

cllen/flask-admin-tablefield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This are some field tools for flask-admin. It can render a text(json) field into a table html that can be edited.

example

Installation

pip install flask-admin-tablefield

Usage

from flask import Flask
from flask_admin import Admin 
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Column, Integer, Text
from flask_bootstrap import Bootstrap
import os

basedir = os.path.abspath(os.getcwd())

import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)

db = SQLAlchemy()
bootstrap = Bootstrap()


app = Flask(__name__)

app.config.update({
	'SQLALCHEMY_DATABASE_URI':'sqlite:///' + os.path.join(basedir, 'tablefield.sqlite'),
	'SQLALCHEMY_TRACK_MODIFICATIONS':True,
	'SECRET_KEY':'xxx',
})
app_context = app.app_context()
app_context.push()

admin = Admin(
	app,
	name="tablefield-example",
	template_mode='bootstrap4',
)

class PlanModel(db.Model):
	__tablename__ = 'plan'

	id = Column(Integer, primary_key=True)
	plan1 = Column(Text(10800))
	plan2 = Column(Text(10800))

from flask_admin.contrib import sqla
from flask_admin_tablefield import TableField,TableCheckBoxField
class PlanAdmin(sqla.ModelView):

	column_labels = {'plan':'plan',}

	column_list = ['id',]

	form_overrides = {
		'plan1':TableField([
			"#","Mon","Tue","Wed","Thu","Fri","Sat","Sun",
		]),

		'plan2':TableCheckBoxField({
			'AM':{"Mon":0,"Tue":0,"Wed":0,"Thu":0,"Fri":0,"Sat":0,"Sun":0,},
			'PM':{"Mon":0,"Tue":0,"Wed":0,"Thu":0,"Fri":0,"Sat":0,"Sun":0,}
		}),
	}

admin.add_view(PlanAdmin(PlanModel, db.session, name=u'plan'))

db.init_app(app)
db.drop_all()
db.create_all()
db.session.commit()

bootstrap.init_app(app)

if __name__ == '__main__':
	app.run(debug=True)

Check http://localhost:5000/admin

Update

  • 2022年3月6日 add feature TableField
  • 2022年3月7日 add feature TableCheckBoxField

About

tablefield for flask-admin!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published