Skip to main content

Some Flask custom extension

Project description

Flask XinIDEA

Some Flask custom extension

  • redprint
  • reflectdb

Install

pip install --index-url https://test.pypi.org/simple/ --no-deps -U flask-xinidea

Redprint

  • Usage
from flask import Flask
from flask import Blueprint
from flask_xinidea.redprint import Redprint

app = Flask(__name__)
bp = Blueprint('test', __name__)
test = Redprint(bp, url_prefix='/test')


@test.route('')
def index():
    return 'this is a test'


app.register_blueprint(bp)

if __name__ == "__main__":
    app.run()
  • Test
flask run
flask routes
curl http://127.0.0.1:5000/test

ReflectDB

  • Usage
from flask import Flask
from flask import Blueprint
from flask_xinidea.redprint import Redprint
from flask_xinidea.reflectdb import ReflectDB

settings = dict(
    SQLALCHEMY_TRACK_MODIFICATIONS=False,
    SQLALCHEMY_DATABASE_URI='mysql+cymysql://localhost/temp',
    SQLALCHEMY_BINDS={
        'test': 'mysql+cymysql://localhost/test'
    }
)

app = Flask(__name__)
app.config.from_mapping(settings)

bp = Blueprint('test', __name__)
test = Redprint(bp, url_prefix='/test')

# the test is the SQLALCHEMY_BINDS key or
# a SQLALCHEMY_DATABASE_URI like 'mysql://localhost/temp'

testdb = ReflectDB('test', app)
# testdb = ReflectDB('mysql://localhost/temp')
User = testdb.get_table('users')

@test.route('')
def index():
    return 'this is a test'


@test.route('/users/<int:id>')
def get_user(id):
    user = User.query.get(id)
    if user:
        return user.name
    else:
        return 'Not exists'


app.register_blueprint(bp)

if __name__ == "__main__":
    app.run()
  • Test
flask routes
flask run
curl http://127.0.0.1:5000/test/users/user:id

2019-11-29 by phiix

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flask-xinidea, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size flask_xinidea-0.0.4-py3-none-any.whl (3.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size flask-xinidea-0.0.4.tar.gz (2.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page