Straightforward file-based routing extension for Flask. Introduces the concepts of pages to Flask.
Project description
FlaskFSRouter
Straightforward file-based routing extension for Flask. Introduces the concepts of pages to Flask.
Getting Started
pip install flask_fs_router
Initialize the extension.
from flask import Flask
from flask_fs_router import FlaskFSRouter
app = Flask(__name__)
FlaskFSRouter(app)
Pages are python files with a default function defined. These pages are stored in the /pages
directory of your project, it is automatically available as a route based on its filename.
Create an example index route.
pages/index.py
def default():
return "Home page"
Conventions
Index Pages
The index file of any folder is the name of that folder.
pages/ecommerce/index.py -> oursite.com/ecommerce | GET
pages/products/index.py -> oursite.com/products | GET
Static Routes
pages/index.py -> oursite.com/ | GET
pages/about.py -> oursite.com/about | GET
pages/about/index.py -> oursite.com/about | GET
pages/about/me.py -> oursite.com/about/me | GET
pages/posts/1.py -> oursite.com/posts/1 | GET
pages/posts/[post_id].py -> oursite.com/posts/<post_id> | GET
Request Methods
By default, pages map to GET requests. To change this behavior, define request methods within the file name using parentheses.
Example: Request methods
pages/posts/create_post(post).py -> oursite.com/posts/create-post | POST
Github Page
https://github.com/JarriqTheTechie/flask_fs_router
Contributing
We love the idea of a community. We'll be putting together a contribution guide in the near future.
License
flask_fs_router is available as open source under the terms of the MIT License http://opensource.org/licenses/MIT
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
Built Distribution
Hashes for flask_fs_router-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fcf4c16289f07dc2109e61d2caba617452e6e2fa9b13a558e9b6b5a66ca2356 |
|
MD5 | 0fa18f2e95c9411b7739ada2f64a1db0 |
|
BLAKE2b-256 | 82e30be2d6b06d018a60da0a81582ece6215e28dc49cf065f3e624633571d799 |