from flask_admin.contrib.sqla import ModelView admin.add_view(ModelView(Media, db.session)) admin.add_view(ModelView(Category, db.session))
raise RuntimeError("DATABASE_URL is not set") app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("DATABASE_URL") app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False db.init_app(app) # Configure session, use filesystem app.config["SESSION_PERMANENT"] = False app.config["SESSION_TYPE"] = "filesystem" Session(app) # Configure migrations Migrate(app, db) # Configure admin interface admin = Admin(app, name='Pinocchio Admin', template_mode='bootstrap3') admin.add_view(ModelView(Pizza, db.session)) admin.add_view(ModelView(Topping, db.session)) admin.add_view(ModelView(Sub, db.session)) admin.add_view(ModelView(SteakTopping, db.session)) admin.add_view(ModelView(Extra, db.session)) admin.add_view(ModelView(DinnerPlatter, db.session)) admin.add_view(ModelView(PlacedOrder, db.session)) # Menu and Ordermenu initialization, # takes relevant database data and # calculates the new prices based on the give price_per_topping # Also takes an 'order' argument to create the order dataset def render_menu(order=True): menudict = {} if order:
db.session.add(user) db.session.commit() flash('You have confirmed your account. Thanks!', 'success') return redirect(url_for('user_page',username=user.username)) class TestView(ModelView): # Disable model creation can_create = True # Override displayed fields column_list = ('username', 'password') def __init__(self, session, **kwargs): # You can pass name and other parameters if you want to super(TestView, self).__init__(User, session, **kwargs) class UserView(ModelView): @expose('/new/', methods=('GET', 'POST')) def create_view(self): return self.render('index.html') # Admin views # Need to add login requirement to these views and add an admin user role admin.add_view(ModelView(models.User, db.session)) admin.add_view(ModelView(models.Post, db.session)) admin.add_view(ModelView(models.Payment, db.session))
c = unicode(color) color_id = Colors.query.filter_by(name=c).first() catalogs = Catalog.query.filter_by(color_id=color_id.id) return render_template('kivie/index.html', catalogs=catalogs) @kivie.route('/all') def all_catalog(): cats = Catalog.query.all() json_cats = {} for cat in cats: color = cat.color.name size = cat.size storge = cat.storge if color not in json_cats.keys(): json_cats[color] = {} json_cats[color][size] = storge return render_template('kivie/allcatalog.html', json_cats=json_cats) @kivie.route('/edit', methods=['POST', 'GET']) def edit(): form = ExampleForm() #Sizes = current_app.config['KIVIE_CATALOGS'][u'内衣'.encode('utf-8')][u'黑色'.encode('utf-8')] Sizes = ('70A', '75A', '80A', '85A') return render_template('kivie/edit.html', form=form, Sizes=Sizes) admin.add_view(ModelView(Catalog, db.session))
from flask import Flask from config import Configuration from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate, MigrateCommand from flask_script import Manager from flask_admin import Admin from flask_admin.contrib.sqla import ModelView app = Flask(__name__) app.config.from_object(Configuration) db = SQLAlchemy(app) migrate = Migrate(app, db) manager = Manager(app) manager.add_command('db', MigrateCommand) admin = Admin(app) from models import * admin.add_view(ModelView(Item, db.session))
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_admin import Admin from flask_admin.contrib.sqla import ModelView from flask_login import LoginManager app = Flask(__name__) app.config['SECRET_KEY'] = 'c3209OIOPP901QOU8c2u' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) login = LoginManager(app) from .models import (User, Shipper, Stock, Supplier, Order, OrderList, Product, Shipment, Rating, Cart, Electronics, Clothes, Books) admin = Admin(app, name='Smart Kart', template_mode='bootstrap3') admin.add_views(ModelView(User, db.session), ModelView(Supplier, db.session), ModelView(Order, db.session), ModelView(OrderList, db.session), ModelView(Product, db.session), ModelView(Shipper, db.session), ModelView(Shipment, db.session), ModelView(Stock, db.session), ModelView(Rating, db.session), ModelView(Cart, db.session), ModelView(Electronics, db.session), ModelView(Clothes, db.session), ModelView(Books, db.session)) from app import views
#Para el login de los usuarios class MyModelView(ModelView): def is_accessible(self): has_auth = current_user.is_authenticated has_perm = admin_permission.allows(g.identity) return has_auth and has_perm def inaccessible_callback(self, name, **kwargs): return redirect(url_for('login', next=request.url)) # los modelos que queremos mostrar en el admin admin.add_view(MyModelView(Categoria, db.session)) admin.add_view(ModelView(Pregunta, db.session)) admin.add_view(ModelView(Respuesta, db.session)) admin.add_view(ModelView(BestTime, db.session)) admin.add_view(MyModelView(Usuario, db.session)) # subimos el server (solo cuando se llama directamente a este archivo) if __name__ == '__main__': app.run() ##MIGRACION de BASE DE DATOS from flask_migrate import Migrate migrate = Migrate() migrate.init_app(app, db) admin.add_view(MyModelView(Role, db.session)) #para verlo en "/admin"
""" @author: lileilei @file: admin.py @time: 2018/3/21 9:54 """ '''管理后台''' from app import admin from app.models import * from flask_admin.contrib.sqla import ModelView class Useradmin(ModelView): column_labels = dict(username=u'用户名', user_email=u'用户邮件', status=u'状态', is_sper=u'权限', works=u'职位', password=u'密码') admin.add_view(Useradmin(User, db.session, name=u'用户', endpoint='adminuser')) admin.add_view(ModelView(Task, db.session, name='定时任务', endpoint='tingtask')) admin.add_view( ModelView(InterfaceTest, db.session, name='测试用例', endpoint='testcase')) admin.add_view(ModelView(Interface, db.session, name='接口', endpoint='jiekou')) admin.add_view(ModelView(Mockserver, db.session, name='mock'))
manager.add_command('db', MigrateCommand) login_manager.init_app(app) login_manager.anonymous_user = GuestUser @login_manager.unauthorized_handler def unauthorized(): return redirect(url_for('account.login')) @login_manager.user_loader def user_loader(userid): return User.query.get(userid) admin = Admin(app) admin.add_view(ModelView(Promise, db.session)) admin.add_view(ModelView(Checklist, db.session)) def trim(string): res = string.replace(":", "-") res = res.replace(".", "") res = res.replace("?", "q") return res.replace(" ", "-").replace("(", "").replace(")", "") app.jinja_env.globals.update(clever_function=trim)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from flask_admin.contrib.sqla import ModelView from utils.admin import admin from utils.db_tool import db from .models import Choice, Question admin.add_view(ModelView(Question, db.session, name='Question Manager')) admin.add_view(ModelView(Choice, db.session, name='Choice Manager'))
self.access = access def is_admin(self): return self.access == ACCESS['admin'] def allowed(self, access_level): return self.access >= access_level class Application(db.Model): id = db.Column(db.Integer, primary_key=True) id_ad = db.Column(db.Integer, db.ForeignKey('ads.id'), nullable=False) f_name = db.Column(db.String(255)) l_name = db.Column(db.String(255)) phone = db.Column(db.String(255)) email = db.Column(db.String(255)) def __init__(self, f_name, l_name, email, id_ad, phone=""): self.f_name = f_name self.l_name = l_name self.phone = phone self.email = email self.id_ad = id_ad admin = Admin(app) admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Company, db.session)) admin.add_view(ModelView(Application, db.session)) admin.add_view(ModelView(Ad, db.session))
order = Order(user_id=data.user_id, user=user, canteen=canteen, canteen_id=canteen_id) if order: db.session.add(order) db.session.commit() return jsonify({"repsonse": "order_created"}) else: return jsonify({"repsonse": "Pleas provide data"}) return "create order" @app.route("/canteen/<int:canteen_id>/menu", methods=["GET"]) def view_canteen_menu(): return "canteen menu" @app.route("/canteen/<int:canteen_id>/menu", methods=['POST']) def create_canteen_menu(): return "canteen menu" admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Canteen, db.session)) admin.add_view(ModelView(Order, dbs.session)) if __name__ == "__main__": # app.run(str(IPAddr)) app.run(host='127.0.0.1', debug=True)
#!/usr/bin/env python #encoding:utf-8 from flask_admin.contrib.sqla import ModelView from src.ext import db, admin from src.models import * admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Role, db.session)) admin.add_view(ModelView(Company, db.session)) admin.add_view(ModelView(History, db.session)) admin.add_view(ModelView(ShareHolder, db.session))
class CommentAdmin(sqla.ModelView): form_overrides = dict(object_type=SelectField) form_args = dict( object_type=dict(choices=OBJECT_TYPE) ) class LabelAdmin(sqla.ModelView): form_overrides = dict(css_class=SelectField, status=SelectField) form_args = dict( css_class=dict(choices=CSS_CLASS), status=dict(choices=TASK_STATUS) ) admin.add_view(LabelAdmin(Label, db.session)) admin.add_view(ModelView(Profile, db.session)) admin.add_view(ModelView(Desk, db.session)) admin.add_view(ModelView(Board, db.session)) admin.add_view(ModelView(Sprint, db.session)) admin.add_view(ModelView(Sticker, db.session)) admin.add_view(CommentAdmin(Comment, db.session)) @app.errorhandler(404) def page_not_found(error): return render_template('404.html'), 404 @manager.command def test(): """
# ---------------------------------------------------------------------------- # Flask Views # ---------------------------------------------------------------------------- # root route @app.route('/') def index(): # return redirect("/admin/", code=302) # return "<h1><a href='/admin/'>View Inventory</a></h1>" return render_template('/pages/index.html') # Create admin admin = admin.Admin(app, name="{0} | {1}".format(app.config['ORG_NAME'], app.config['APP_TITLE']), template_mode='bootstrap3') # Add model views admin.add_view(SaleView(Sale, db.session)) admin.add_view(SupplierView(Supplier, db.session)) admin.add_view(ProductView(Product, db.session)) admin.add_view(ModelView(Tag, db.session)) admin.add_view(ModelView(Staff, db.session)) # add custom views admin.add_view(InventoryView(name='Inventory', endpoint='inventory')) admin.add_view(AnalyticsView(name='Analytics', endpoint='analytics'))
from flask import render_template, flash, redirect, session, url_for, request, g from flask_admin.contrib.sqla import ModelView from app import app, db, admin from .models import Task from .forms import TaskForm, DeadlineForm admin.add_view(ModelView(Task, db.session)) @app.route("/") def homepage(): return render_template( 'index.html', title='homepage', ) @app.route('/create_task', methods=['GET', 'POST']) def create_task(): #create a task form = TaskForm() if form.validate_on_submit(): t = Task(task_name=form.task_name.data, description=form.description.data, deadline=form.deadline.data, state="uncomplete") db.session.add(t) db.session.commit() return redirect('/tasks')
def __repr__(self): return self.name class Draw(db.Model): id = db.Column(db.Integer, primary_key=True) customer_id = db.Column(db.Integer, db.ForeignKey('customer.id'), nullable=False) placement = db.Column(db.Integer) home = db.Column(db.String(50)) away = db.Column(db.String(50)) admin.add_view(ModelView(Customer, db.session)) admin.add_view(ModelView(Draw, db.session)) @app.route('/') def index(): return "Hello World" @app.route('/draw', methods=['POST']) @csrf.exempt def draw(): #import pdb;pdb.set_trace() content = request.json print(content)
db.init_app(app) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login.signin' @login_manager.user_loader def load_user(user_id): return Enrollee.query.get(int(user_id)) admin = Admin(app, name='Control Panel') admin.add_view(ModelView(Enrollee, db.session)) admin.add_view(ModelView(Relative, db.session)) admin.add_view(ModelView(otp, db.session)) #admin.add_view(ModelView(Health_Care_Service_Provider, db.session)) admin.add_view(ModelView(payments_claims, db.session)) admin.add_view(ModelView(Histories, db.session)) from recordssystem.enrollee.views import hom from recordssystem.auth.views import login from recordssystem.dashboard.views import dash from recordssystem.hcp.views import health_care_provider from recordssystem.hmoss.views import hmos from recordssystem.fhssmodule.views import fhss app.register_blueprint(enrollee.views.hom)
def create_app(config_object): app = Flask(__name__) app.config.from_object(config_object) return app app = create_app(SETTINGS.get(FLASK_ENV, 'default')) db.init_app(app) migrate.init_app(app, db) admin.init_app(app) marsh.init_app(app) from . import models admin.add_view(ModelView(models.OrgClient, db.session)) admin.add_view(ModelView(models.OrgSector, db.session)) admin.add_view(ModelView(models.OrgPerson, db.session)) admin.add_view(ModelView(models.OrgTeam, db.session)) from .api.resources import ( OrgClientResource, OrgClientListResource, OrgSectorResource, OrgSectorListResource, OrgPersonResource, OrgPersonListResource, OrgTeamResource, OrgTeamListResource, DatasetResource, DatasetListResource,
def __init__(self, name, description, link,image,featured,category): self.name = name self.descritopn = description self.link = link self.image = image self.featured = featured self.category = category # FLASK ADMIN admin = Admin(app, name='coursestash', template_mode='bootstrap3') admin.add_view(ModelView(Courses, db.session)) admin.add_view(ModelView(Category,db.session)) # Routing @app.route('/') def show_all(): return render_template('index.html', categories = Category.query.all()) @app.route('/listing/<cat>') def show_list(cat): return render_template('listings.html' , courses = Courses.query.filter_by(category = cat).order_by("featured desc"), Heading = cat)
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'Something unique and secret!' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///dbcons.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) from ConsApp import views, models from flask_admin import Admin admin = Admin(app, name='SITE', template_mode='bootstrap3') from flask_admin.contrib.sqla import ModelView admin.add_view(ModelView(models.Usuario, db.session)) admin.add_view(ModelView(models.Endereco, db.session)) admin.add_view(ModelView(models.Reserva, db.session)) admin.add_view(ModelView(models.Produto, db.session)) admin.add_view(ModelView(models.Categoria, db.session))
#Blueprint Registration app.register_blueprint(catalogue) app.register_blueprint(cart) app.register_blueprint(location) app.register_blueprint(user) app.register_blueprint(order) app.register_blueprint(checkout) #Database Configuration app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'bmeswebapp.db') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False #Registering The Product Catalogue Models to the Admin Module admin = Admin(app) admin.add_view(ModelView(Product, db.session)) admin.add_view(ModelView(Category, db.session)) admin.add_view(ModelView(Brand, db.session)) admin.add_view(ModelView(Customer, db.session)) admin.add_view(ModelView(Person, db.session)) admin.add_view(ModelView(Address, db.session)) db.init_app(app) migrate = Migrate(app, db) import bmes.views @app.context_processor def inject_context(): return {
db.session.commit() session["user"] = {"id": newuser.id, "mail": newuser.mail} return redirect('/account/') else: form.mail.errors.append( "Пользователь с таким e-mail уже существует!") return render_template('register.html', form=form) return render_template('register.html', form=form) @app.route('/logout/') def logout(): if session.get("user"): session.pop("user") return redirect("/login/") @app.route('/ordered/') def ordered(): return render_template('ordered.html') admin = Admin(app) admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Category, db.session)) admin.add_view(ModelView(Meal, db.session)) admin.add_view(ModelView(Order, db.session)) if __name__ == '__main__': app.run()
md5sum = db.Column(db.String(32)) note = db.Column(db.String(255)) verified = db.Column(db.Boolean) # is file verified from eshop? (size/hash) class Image(db.Model): id = db.Column(db.Integer, primary_key=True) type = db.Column(db.Integer) # 1 for title, 2 for screenshot, 3 for mobileAppIcon filename = db.Column(db.String(255)) cached_url = db.Column(db.Text) origin_url = db.Column(db.Text) size = db.Column(db.Integer) game_id = db.Column(db.Integer, db.ForeignKey('game.id')) class Genre(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255)) class StoreTag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255)) for table in (Game, File, Image, Genre, StoreTag): admin.add_view(ModelView(table, db.session)) if __name__ == '__main__': app.run(debug=True)
LastEditors: Wentao Lin ''' from flask import render_template, flash, redirect, request, make_response from flask_admin.contrib.sqla import ModelView from werkzeug.utils import secure_filename import os import uuid from app import app, db, admin from .models import User, Goods, Address, Order, shopping_cart, shopping_order from .forms import Signup, AddAddress, AddCommodity, ChangePassword admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Goods, db.session)) admin.add_view(ModelView(Address, db.session)) admin.add_view(ModelView(Order, db.session)) @app.route("/", methods=['GET', 'POST']) def homepage(): app.logger.info("Enter the home web page") if Goods.query.filter(Goods.type == "home appliances").count() < 4: home_appliances = Goods.query.filter(Goods.type == "home appliances").all() number = 4 - Goods.query.filter(Goods.type == "home appliances").count() home_appliances_number = [] for i in range(number): home_appliances_number.append("0")
with app.app_context(): if User.query.filter_by(username=username).first() is not None: print('This user is already exists') raise Exception user = User(username=username) user.set_password(password) db.session.add(user) db.session.commit() if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument("--add_user", help="create user with username:password") args = parser.parse_args() if args.add_user: username, password = args.add_user.split(':') create_user(username, password) else: app.register_blueprint(api) app.register_blueprint(view) from models import User, Record from app import db with app.app_context(): db.create_all() admin = Admin(app, name='api_admin', template_mode='bootstrap3') admin.add_view(ModelView(User, db.session)) admin.add_view(RecordAdmin(Record, db.session)) app.run(debug=True, port=8000)
from flask_admin.contrib.sqla import ModelView from config import config app = Flask(__name__) app.config['SECRET_KEY'] = '!9m@S-dThyIlW[pHQbN^' app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://*****:*****@localhost/auth' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['JWT_SECRET_KEY'] = 'Dude!WhyShouldYouEncryptIt' app.config['JWT_BLACKLIST_ENABLED'] = True app.config['JWT_BLACKLIST_TOKEN_CHECKS'] = ['access', 'refresh'] admin = Admin(app) admin.add_view(ModelView('POST', db.session)) db = SQLAlchemy(app) jwt = JWTManager(app) from models import * class User(db.Model): __tablename__ = 'usertable' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(15), unique=True)
from flask import Flask, render_template, session, redirect, url_for from flask_admin import Admin from flask_admin.contrib.sqla import ModelView from indussh import db from indussh.models import User, Product admin = Admin(name='Indussh-Admin', template_mode='bootstrap3') admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Product, db.session)) # @admin.route('/admin/login') # def admin_login(): # if current_user.is_authenticated: # return redirect(url_for('admin_dashboard')) # form = LoginForm() # return render_template('admin/login.html', title='Login', form=form) # @admin.route('/admin/logout') # def admin_logout(): # pass # @admin.route('/admin') # @admin.route('/admin/dashboard') # def admin_dashboard(): # pass
app.config['SECRET_KEY'] = 'c3209OIOPP901QOU8c2u' socketio = SocketIO(app, message_queue='redis://localhost:6379') # file_path = os.path.abspath(os.getcwd())+"\database.db" app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///../db.sqlite3' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) from .models import (Player, Question, Option, Weight, Faction, Schedule, Log, Answer, Avatar) admin = Admin(app, name='Faction Master', template_mode='bootstrap3', url='/admin123gh1g2hvh12gvh312us1jsc1j2sj12sf3t2f1stf3y123') admin.add_view(ModelView(Player, db.session)) admin.add_view(ModelView(Question, db.session)) admin.add_views( ModelView(Option, db.session), ModelView(Weight, db.session), ModelView(Faction, db.session), ModelView(Schedule, db.session), ModelView(Log, db.session), ModelView(Answer, db.session), ModelView(Avatar, db.session), ) from celery import Celery def make_celery(app):
def __init__(self, model, session, **kwargs): ModelView.__init__(self, model, session, **kwargs)
db = SQLAlchemy(app) mail = Mail(app) manager = Manager(app) manager.add_command('db', MigrateCommand) migrate = Migrate(app, db) # Admin from flask_admin.contrib.sqla import ModelView from app.profile.models import User from app.service.models import Dealer from app.garage.models import Car, Recall, ServiceBulletin from app.auth.models import SocialConnection admin = Admin(app, 'Admin', template_mode='bootstrap3') admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Dealer, db.session)) admin.add_view(ModelView(Car, db.session)) admin.add_view(ModelView(SocialConnection, db.session)) admin.add_view(ModelView(Recall, db.session)) admin.add_view(ModelView(ServiceBulletin, db.session)) # Auth from app.auth.models import init_app init_app(app) # Register blueprints from app.public.controllers import public_module as mod_public from app.news.controllers import news_module as mod_news from app.profile.controllers import profile_module as mod_profile