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


Download files

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

Source Distribution

flask-xinidea-0.0.4.tar.gz (2.2 kB view hashes)

Uploaded Source

Built Distribution

flask_xinidea-0.0.4-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page