def configured_app(): # web framework # web application # __main__ app = Flask(__name__) # 设置 secret_key 来使用 flask 自带的 session # 这个字符串随便你设置什么内容都可以 app.secret_key = secret.secret_key # uri = 'mysql+pymysql://root:{}@localhost/web21?charset=utf8mb4'.format( # secret.database_password # ) # app.config['SQLALCHEMY_DATABASE_URI'] = uri # app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # db.init_app(app) app.config.from_object(__name__) register_routes(app) app.template_filter()(count) app.template_filter()(format_time) app.errorhandler(404)(not_found) admin = Admin(app, name='web', template_mode='bootstrap3') admin.add_view(ModelView(User, endpoint="user_")) admin.add_view(ModelView(Topic, endpoint="topic_")) admin.add_view(ModelView(Reply, endpoint="reply_")) # Add administrative views here return app
def initialize(app): admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView()) admin.add_view(ModelView(models.User)) # ADD YOUR ADDITIONAL ADMIN VIEWS BELOW (use User model as a template) admin.add_view(ModelView(models.Species)) admin.add_view(ModelView(models.Image)) admin.add_view(ModelView(models.Observation)) return admin
def initialize(app): admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView()) admin.add_view(ModelView(models.User)) # ADD YOUR ADDITIONAL ADMIN VIEWS BELOW (use User model as a template) admin.add_view(ModelView(models.Group)) admin.add_view(ModelView(models.UserMembership)) admin.add_view(ModelView(models.Page)) return admin
def create_app(test_config=None): """Create and configure an instance of the Flask application.""" app = Flask(__name__) db_path = os.path.join(app.instance_path, 'example.sqlite') # which including build database obj database = SqliteDatabase(db_path) DATABASE_PROXY.initialize(database) false_alter_feedback_handler = FalseAlertPeeweeDbWriter(database) # actually we needn't set the db obj here, since we initialize proxy above app.config.from_mapping( DATABASE=database, FALSE_ALTER_FEEDBACK_HANDLER=false_alter_feedback_handler ) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass # apply the blueprints to the app from monitor_reporter import album, bar_chart, line_feedback app.register_blueprint(album.bp) app.register_blueprint(bar_chart.bp) app.register_blueprint(line_feedback.bp) # register flask-admin for ImageInfo, BboxDetectionResult, # RegisteredAudience, FalseAlertFeedback # create table if not exist detection_models.ImageInfo.create_table() detection_models.BboxDetectionResult.create_table() feedback_models.RegisteredAudience.create_table() feedback_models.FalseAlertFeedback.create_table() # register admin admin = flask_admin.Admin(app, name='Example: Peewee') admin.add_view(ModelView(detection_models.ImageInfo)) admin.add_view(ModelView(detection_models.BboxDetectionResult)) admin.add_view(ModelView(feedback_models.RegisteredAudience)) admin.add_view(ModelView(feedback_models.FalseAlertFeedback)) return app
from flask import Flask from flask_admin import Admin from flask_admin.contrib.peewee import ModelView # Flask and Flask-SQLAlchemy initialization here app = Flask(__name__) admin = Admin(app, name='microblog', template_mode='bootstrap3') admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Post, db.session)) app.run()
#bring in a timed serializer s = URLSafeTimedSerializer(Config.KEY) mail = Mail(app) def get_serializer(secret_key=None): if secret_key is None: secret_key = app.secret_key return URLSafeTimedSerializer(secret_key) print URLSafeTimedSerializer(secret_key) #this is for admin view... admin = Admin(app, name='microblog', template_mode='bootstrap3') #pip install pymysql admin.add_view(ModelView(User)) #new user route @app.route("/newuser/", methods=['GET', 'POST']) def host(): form = NewUser(request.form) if request.method == 'POST': user = User() for field in form: if field.name != 'csrf_token': print field.name theField = str(field.name) setattr(user,theField,field.data) #check the data from the form #print getattr(user,theField) username = request.form['username']
from flask import Flask, jsonify, request from flask_admin import Admin from flask_admin.contrib.peewee import ModelView from db import Sign, URL, SignURL from adminViews import SignView from config import * from datetime import datetime app = Flask(__name__) app.secret_key = SECRET_KEY admin = Admin(app, name='SignMan', template_mode='bootstrap3') admin.add_view(SignView(Sign)) admin.add_view(ModelView(URL)) admin.add_view(ModelView(SignURL)) def shutdown_flask(): func = request.environ.get('werkzeug.server.shutdown') if func is None: raise RuntimeError('Not running with the Werkzeug Server') func() @app.route('/') def index(): return '''<html><body> Welcome to Sign Man<p> <a href=./admin>Admin interface </a>
from flask_admin import Admin from flask_admin.contrib.peewee import ModelView from admin.views import BulkUploadView from stock.models import Product admin = Admin(name='Stock Admin', template_mode='bootstrap3') admin.add_view(ModelView(Product)) admin.add_view(BulkUploadView(name='Bulk Upload', endpoint='bulk_upload'))
s = URLSafeTimedSerializer('thissceret') mail = Mail(app) def get_serializer(secret_key=None): if secret_key is None: secret_key = app.secret_key return URLSafeTimedSerializer(secret_key) print URLSafeTimedSerializer(secret_key) admin = Admin(app, name='microblog', template_mode='bootstrap3') #global events #pip install pymysql #events = Event.select().order_by(Event.event_date.asc()) admin.add_view(ModelView(BaseModel)) @app.route("/newuser/", methods=['GET', 'POST']) def host(): form = NewUser(request.form) if request.method == 'POST': user = User() for field in form: if field.name != 'csrf_token': print field.name theField = str(field.name) setattr(user,theField,field.data) #print getattr(user,theField) username = request.form['username'] passhash = bcrypt.hashpw(request.form['password'].encode('utf-8'), bcrypt.gensalt())
def index(self): return super(AuthenticatedIndexView, self).index() def logout(self): return authenticate() class ParticipantAdminView(ModelView): column_exclude_list = ['token'] admin = Admin(parsapp, name='PARS', template_mode='bootstrap3', index_view=AuthenticatedIndexView(name='Admin', template='admin.html')) admin.add_view(ParticipantAdminView(Participant)) admin.add_view(ModelView(Degree)) admin.add_view(ModelView(Chair)) admin.add_view(ModelView(Course)) admin.add_link(MenuLink(name='Export CSV', endpoint='export')) admin.add_link(MenuLink(name='Logout', endpoint='logout')) parsapp.config.from_object('config.' + os.environ.get('PARS_CONFIG', 'DevelopmentConfig')) def check_auth(username, password): """This function is called to check if a username / password combination is valid. """ return (username == parsapp.config['ADMIN_USERNAME'] and password == parsapp.config['ADMIN_PASSWORD'])
added = peewee.DateTimeField(default=datetime.datetime.now) def __repr__(self): return "<%s %i:%i>" % (self.show, self.season, self.episode) db_classes = BaseModel.__subclasses__() db.create_tables(db_classes) admin = flask_admin.Admin( app, name="microblog", template_mode="bootstrap3", url="/admin/" + app.config["URL_KEY"], ) admin.add_view(ModelView(Show)) admin.add_view(ModelView(Episode)) def parse_title(title): title = title.lower().replace(".", " ") parts = re.search(app.config['PARSE_RE'], title) if parts != None: parsed = parts.groupdict() parsed["show"] = parsed["show"].strip() parsed["tags"] = parsed["tags"].strip().split() try: parsed["season"] = int(parsed["season"])
# flask-admin setup class MyAdminView(AdminIndexView): @expose('/') def index(self): try: if current_user.is_admin: return render_template('admin.html') except Exception as e: print(e) pass # silently fail for unauthorized trying to access admin space return redirect(url_for('index')) admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView()) admin.add_view(ModelView(models.User)) # flask-login setup login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' @login_manager.user_loader def load_user(user_id): """returns user user based on user_id or None""" try: return models.User.get(models.User.id == user_id) except models.DoesNotExist: return None
return 'User is logged out. Goto <a href="{}">Home Page</li>'.format(url_for('home')) class MyAdminIndexView(AdminIndexView): # overrides the default AdminIndexView, probably should use a template # for illustration, I kept it simple @expose('/') def index(self): return 'Click here to adminstrate Contacts <a href="/admin/contact">__contacts__</a>' def is_accessible(self): # admin only accessible to the admin user-group return session.get('group') == 'admin' # Flask Admin views admin = Admin(app, 'Admin Area', template_mode='bootstrap3', index_view=MyAdminIndexView()) admin.add_view(ModelView(Contact)) def load_sample_data(): """load database with a few sample rows""" try: Contact.create(uname='alpha',fname='Aaron',lname='Alpha',email='*****@*****.**',phone='none',notes='') except Exception as e: print(str(e)) try: Contact.create(uname='beta',fname='Brett',lname='Beta',email='*****@*****.**',phone='none',notes='') except Exception as e: print(str(e)) try: Contact.create(uname='charlie',fname='Cindy',lname='Charlie',email='*****@*****.**',phone='555-1212',notes='Nothing of note') except Exception as e: print(str(e)) def init(): """simple connection to database and initilization of data""" db.connect()
from flask_login import LoginManager, current_user from flask_wtf.csrf import CSRFProtect import braintree from flask_mail import Mail, Message from celery.schedules import crontab from flask_jwt_extended import JWTManager web_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'homebody_cooks_web') app = Flask('HOMEBODY COOKS', root_path=web_dir) admin = Admin(app, index_view=MyAdminIndexView()) csrf = CSRFProtect(app) celery = make_celery(app) admin.add_view(ModelView(User)) admin.add_view(ModelView(Ingredient)) admin.add_view(ModelView(Recipe)) admin.add_view(ModelView(RecipeIngredient)) admin.add_view(ModelView(Measurement)) admin.add_view(ModelView(Subscription)) login_manager = LoginManager() login_manager.login_view = 'auth.login' login_manager.init_app(app) mail = Mail(app) jwt = JWTManager(app) if os.getenv('FLASK_ENV') == 'production': app.config.from_object("config.ProductionConfig") else:
import peewee from modelos import Agente_Aduanal, Requisito, Agencia_Aduanal, Sistema from flask import Flask, render_template from peewee import * from flask_admin import Admin from flask_admin.contrib.peewee import ModelView nombreDB = 'DB_AAALAC.db' db = SqliteDatabase(nombreDB) app = Flask(__name__) app.config.from_object(__name__) admin = Admin(app, name='SistemaAA', template_mode='bootstrap3') admin.add_view(ModelView(Agente_Aduanal, db)) admin.add_view(ModelView(Agencia_Aduanal, db)) admin.add_view(ModelView(Requisito, db)) admin.add_view(ModelView(Sistema, db)) @app.route('/') def index(): lista = (Agente_Aduanal.select()) return render_template('index.html', tablas=lista) @app.route('/<patente>') def ver_agente(patente): agente = Agente_Aduanal.get(Agente_Aduanal.numero_patente == patente) return render_template('agente.html', patente=agente)
class PeopleGroupAid(BaseModel): people_event = peewee.ForeignKeyField(PeopleGroup, related_name = 'people get help on event') aid = peewee.ForeignKeyField(Resource, related_name = 'resource name') quantity = peewee.IntegerField() def __unicode__(self): return self.people_event #class UserAdmin(ModelView): class PeopleView(ModelView): #Visible columns in the list view column_exclude_list = ('middle_name', 'pspt_misc', 'pspt_issued', 'pspt_address', 'pspt_number') # List of columns that can be sorted. column_sortable_list = ('last_name', 'is_head') # Column filters column_filters = ('last_name', 'is_head', 'is_employee' ) column_display_pk = 'True' class ResourceView(ModelView): column_filters = ('name', ) column_display_pk = 'True' class LocationView(ModelView): #column_filters = ( 'name' ) column_display_pk = 'True' @app.route('/') def index(): return '<a href="/admin/">Click me to get to Admin!</a>' #return render_template('index.html') if __name__ == '__main__': import logging logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) admin = admin.Admin(app, name='Dom gde teplo') admin.add_view(PeopleView(People)) admin.add_view(ModelView(User)) admin.add_view(ResourceView(Resource)) admin.add_view(LocationView(Location)) admin.add_view(ModelView(Project)) admin.add_view(ModelView(Event)) admin.add_view(ModelView(PeopleGroup)) admin.add_view(ModelView(PeopleGroupAid)) #admin.add_view(UserAdmin(User)) #admin.add_view(PostAdmin(Post)) try: Project.create_table() Event.create_table() PeopleGroup.create_table() PeopleGroupAid.create_table() User.create_table() People.create_table() Resource.create_table() Location.create_table() except: pass app.run(debug=True)
from flask import Flask from flask_admin import Admin from flask_admin.contrib.peewee import ModelView import model app = Flask(__name__) # set optional bootswatch theme #app.config['FLASK_ADMIN_SWATCH'] = 'cerulean' app.config['SECRET_KEY'] = 'mosfet' app.config['MODEL'] = model.environmentSensorData() admin = Admin(app, name='SqliteDatabase', template_mode='bootstrap3', url='/') admin.add_view(ModelView(model.environmentSensor)) admin.add_view(ModelView(model.smartMoistureProbe)) # Add administrative views here app.run(host='0.0.0.0')
from flask import Flask, render_template, request, session, redirect, url_for, flash, abort from models import Administrator,Moderator, Faculty, SelectedCourseInfo, Semester, Courses, ClassRoom, DayTime, db from constants import ROLES import flask_admin as admin from flask_admin.contrib.peewee import ModelView app = Flask(__name__) app.secret_key = "SomeAwesomeSecret" app.config['FLASK_ADMIN_SWATCH'] = 'cerulean' admin = admin.Admin(app, name="SoftGreen") admin.add_view(ModelView(Administrator)) admin.add_view(ModelView(Moderator)) admin.add_view(ModelView(Faculty)) admin.add_view(ModelView(SelectedCourseInfo)) admin.add_view(ModelView(Semester)) admin.add_view(ModelView(Courses)) admin.add_view(ModelView(DayTime)) @app.route('/', methods=['POST', 'GET']) def index_login(): logged_status = session.get("logged_in") if not logged_status: return render_template('options_to_login.html') else: return redirect(url_for("faculty_selection"))
file_handler.setLevel(logging.INFO) app.logger.addHandler(file_handler) except IOError: print('Could not open %s/admin_app.log, skipping file-based logging' % app_config.SERVER_LOG_PATH) app.logger.setLevel(logging.INFO) app.register_blueprint(static.static, url_prefix='/%s' % app_config.PROJECT_SLUG) app.add_template_filter(smarty_filter, name='smarty') app.add_template_filter(urlencode_filter, name='urlencode') admin = Admin(app, url='/%s/admin' % app_config.PROJECT_SLUG) admin.add_view(ModelView(models.Result)) admin.add_view(ModelView(models.Call)) admin.add_view(ModelView(models.RaceMeta)) SLUG_TO_OFFICENAME = { 'senate': 'U.S. Senate', 'house': 'U.S. House', 'governor': 'Governor' } @app.route('/%s/calls/<office>/' % app_config.PROJECT_SLUG, methods=['GET']) def calls_admin(office): officename = SLUG_TO_OFFICENAME[office] # This value will be the same for all seats in a chamber, so pick
from app import app from articles.models import Article, Tag admin = Admin(app, name='blog', template_mode='bootstrap3') class CKTextAreaWidget(TextArea): def __call__(self, field, **kwargs): if kwargs.get('class'): kwargs['class'] += ' ckeditor' else: kwargs.setdefault('class', 'ckeditor') return super(CKTextAreaWidget, self).__call__(field, **kwargs) class CKTextAreaField(TextAreaField): widget = CKTextAreaWidget() class MessageAdmin(ModelView): extra_js = ['//cdn.ckeditor.com/4.6.0/standard/ckeditor.js'] form_overrides = { 'content': CKTextAreaField } admin.add_view(MessageAdmin(Article)) admin.add_view(ModelView(Tag))
from flask import Flask, request, Response, render_template, url_for from flask_admin import Admin from flask_admin.contrib.peewee import ModelView import pyqrcode import peewee from peewee import fn from models import db, Group, Player, Puzzle, Answer HERE = op.abspath(op.dirname(__file__)) STATIC_DIR = op.join(HERE, 'static') MAX_CONTENT_LENGTH = 1024 * 1024 app = Flask(__name__) admin = Admin(app, name='Puzzle Hunt', template_mode='bootstrap3') admin.add_view(ModelView(Group)) admin.add_view(ModelView(Player)) admin.add_view(ModelView(Puzzle)) admin.add_view(ModelView(Answer)) @app.route('/') def index(): return render_template('index.html') @app.route('/qrcode', methods=['GET', 'POST']) def qrcode(): if request.method == 'GET': return render_template('qrcode.html') else:
from flask import Flask from flask_admin import Admin from flask_admin import BaseView, expose from flask_admin.contrib.peewee import ModelView from flask import * import model import time import json class MyView(BaseView): @expose('/smarthome') def index(self): return self.render('temp.html') app = Flask(__name__) app.config['SECRET_KEY'] = '20150333' app.config['MODEL'] = model.DHTData() admin = Admin(app, name='SQLite Sensors', template_mode='bootstrap3') admin.add_view(ModelView(model.DHTSensor)) admin.add_view(ModelView(model.SensorReading)) if __name__ == '__main__': app.run(debug=True)
from flask import render_template, request, redirect, url_for from flask_login import login_user, logout_user from flask_admin.contrib.peewee import ModelView from flask_admin import Admin from app import app from models import * from actions import * admin = Admin(app, name='Locadora', template_mode='bootstrap3') admin.add_view(ModelView(models.Tipo)) admin.add_view(ModelView(models.Usuarios)) admin.add_view(ModelView(models.Clientes)) admin.add_view(ModelView(models.Carros)) admin.add_view(ModelView(models.Alugueis)) @app.route('/') def index(): return render_template('index.html') @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': cpf = request.form['cpf'] user = Verificar.clienteExiste(cpf) if not user: return redirect(url_for('login'))
if doesUserHaveRole("admin"): # print "Role Verified" return super(RoleVerifiedAdminIndexView, self).index() else: # print "No Role Verified" return redirect("/", code=302) admin = admin.Admin(app, name=config.application.title, index_view=RoleVerifiedAdminIndexView(), template_mode='bootstrap3') from application.models import classes for c in classes: # print "Adding ModelView to {0}".format(c) admin.add_view(ModelView(c)) # Store the username (which will have been set by the webserver) # into the config. # FIXME: This is temporary. Fix with proper code for running # under Apache/Shibboleth import os from application.logic.validation import getUsernameFromEnv as gUFE config.flask.username = gUFE() # This hook ensures that a connection is opened to handle any queries # generated by the request. Opens every database, which is not ideal, # but because we don't know which will be used... @app.before_request def _db_connect():
import json import logging import oauth import static from flask import Flask, make_response, render_template from flask_admin import Admin from flask_admin.contrib.peewee import ModelView from models import models from render_utils import make_context, smarty_filter, urlencode_filter from werkzeug.debug import DebuggedApplication app = Flask(__name__) app.debug = app_config.DEBUG admin = Admin(app, name=app_config.PROJECT_SLUG) admin.add_view(ModelView(models.TestModel)) logging.basicConfig(format=app_config.LOG_FORMAT) logger = logging.getLogger(__name__) logger.setLevel(app_config.LOG_LEVEL) try: file_handler = logging.FileHandler('%s/public_app.log' % app_config.SERVER_LOG_PATH) file_handler.setLevel(logging.INFO) app.logger.addHandler(file_handler) except IOError: logger.warn( 'Could not open %s/public_app.log, skipping file-based logging' % app_config.SERVER_LOG_PATH)
from connect import db from models import * from views import * from peewee import * from flask import Flask, request from flask_admin import Admin from flask_admin.contrib.peewee import ModelView admin = Admin(app, name='sde_api', template_mode='bootstrap3') admin.add_view(ModelView(ExploreCard)) def create_tables(): db.create_tables([ExploreCard], safe=True) create_tables() app.run(port=5000, debug=True)
from flask_wtf.csrf import CSRFProtect from models.user import User, MyAdminIndexView, AuthenticatedMenuLink from models.product import Product from models.category import Category from models.image import Image from models.sub_category import SubCategory from models.product_category import ProductCategory web_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'aroparts_web') app = Flask('AROPARTS', root_path=web_dir) admin = Admin(app, index_view=MyAdminIndexView()) csrf = CSRFProtect(app) admin.add_view(ModelView(User)) admin.add_view(ModelView(Product)) admin.add_view(ModelView(Category)) admin.add_view(ModelView(SubCategory)) admin.add_view(ModelView(Image)) admin.add_view(ModelView(ProductCategory)) admin.add_link(AuthenticatedMenuLink(name='Logout', endpoint='logout')) login_manager = LoginManager() login_manager.login_view = 'auth.login' login_manager.init_app(app) if os.getenv('FLASK_ENV') == 'production': app.config.from_object("config.ProductionConfig") else: app.config.from_object("config.DevelopmentConfig")