Skip to content

Hardtack/Flask-Negotiation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flask-Negotiation

Better content-negotiation for flask.

Install

Install with pip

pip install Flask-Negotiation

Usage

Make an app

from flask import Flask
from flask.ext.negotiation import provides

app = Flask(__name__)

Make route that provides json only

@app.route('/json')
@provides('application/json')
def view():
    return '{"message": "Hi"}'

If request is not acceptable, then it returns HTTP 406 (Not Acceptable)

And you can render data

import json
from flask.ext.negotiation import Render
from flask.ext.negotiation.renderers import (renderer, template_renderer,
    json_renderer)

render = Render(renderers=[template_renderer, json_renderer])

@app.route('/render')
def render_view():
    data = get_data()

    ...

    return render(data, 'data/show.html')

It automatically choose renderer by Accept HTTP Field, and render to Response object.

For more details, see documentation.

About

Better content-negotiation for flask.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published