Falcon Core Inspired by Django for Falcon API Framework.


License
MIT
Install
pip install falcon-core==0.0.28

Documentation

falcon Core

Falcon Core Inspired by Django for Falcon API Framework.

Installation

pip install falcon-core

User guide

Starting project

falcon-core startproject api

Create project api and folder api

  • api/
  • api/manage.py
  • apy/api/
  • apy/api/__init__.py
  • apy/api/settings.py
  • apy/api/routes.py
  • apy/api/wsgi.py
falcon-core startproject api .

Create project api in my location folder

  • my_location/manage.py
  • my_location/api/
  • my_location/api/__init__.py
  • my_location/api/settings.py
  • my_location/api/routes.py
  • my_location/api/wsgi.py
falcon-core startproject api folder

Create project api in folder

  • folder/manage.py
  • folder/api/
  • folder/api/__init__.py
  • folder/api/settings.py
  • folder/api/routes.py
  • folder/api/wsgi.py

Starting project app

python manage.py startapp example

Create app in project dir

  • example/__init__.py
  • example/resources.py
  • example/routes.py
python manage.py startapp example.example1

Create app in app

  • example/example1/__init__.py
  • example/example1/resources.py
  • example/example1/routes.py
python manage.py startapp example2.example3
  • example2/__init__.py
  • example2/example3/__init__.py
  • example2/example3/resources.py
  • example2/example3/routes.py

Create resource in example.resource.py

import falcon

from falcon_core.resources import Resource


class ExampleResource(Resource):
    def on_get(self, req, resp, **kwargs):
        resp.status = falcon.HTTP_OK
        resp.media = {'key': 'value'}

Add resource to routes

example.routes.py

from falcon_core.routes import route

from example.resources import ExampleResource

routes = [
    route('/example', ExampleResource()),
]

(1) api.resource.py

from falcon_core.routes import route, include

from example.routes import routes as example_routes

routes = [
    route('', include(example_routes)),
]

(2) api.routes.py

from falcon_core.routes import route, include

routes = [
    route('', include('example.routes')),
]

Add middleware

In api.settings.py

...
MIDDLEWARE = [
    'module.MiddlewareOrMiddlewareInstance'
]
...

Add router converters

In api.settings.py

...
ROUTER_CONVERTERS = [
    'name': 'module.Converter'
]
...

Change root routes

In api.settings.py

...
ROUTES = 'module.routes'  # must have routes list
...