Skip to main content

This extension provides basic template widget feature for Flask

Project description

Flask-Widgets
*************

This extension provides basic template widget feature for Flask


Installing Flask-Widgets
========================

Install with **pip**:

pip install flask-widgets


Set Up
======

Widgets is managed through a "Widgets" instance:

from flask import Flask
from flask.ext.widgets import Widgets

app = Flask(__name__)

widgets = Widgets(app)

You may also set up your "Widgets" instance later at configuration
time using **init_app** method:

widgets = Widgets()

app = Flask(__name__)
widgets.init_app(app)


Register Widgets
================

To register a single widget or a group of them, you will use the
"widget()" and "position()" decorators:

@widgets.widget('title')
def title():
return 'Flask-Widget example'

@widgets.position('sidebar', order=1)
def sidebar_featured_items():
return dict(the='variables', go='here')

The example above will register a standalone widget named "title" and
position "sidebar"

To reorder the widgets in a position, adjust the "order" variable,
widget with less order will render first

Widget method must return a *dict* of variables or a string, in case
it returns a *dict*, "Widgets" with render them with a template has
same name as the method "widgets/sidebar_featured_items.html" You can
register as many positions and the number of widgets for them as you
want.


Render Widgets in Template:
===========================

You will use template methods :meth`widget` and :meth`widgets` to
render widgets:

<!DOCTYPE html>
<html>
<head>
<title>{{ widget('title') }}</title>
</head>
<body>
<div style="border:1px solid #ccc">
{{ widgets('header') }}
</div>
Template body
<div style="border:1px solid #ddd">
{{ widgets('footer') }}
</div>
</body>
</html>

"Widgets" will render registered widgets for you, if you need


Notes:
======

* The extension is in development, use it ask your own risk

* If you have better ideas or any suggestion please feel free to
contact me

* If you can improve this document, please help!

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-Widgets-0.1.tar.gz (1.8 kB view hashes)

Uploaded Source

Built Distribution

Flask_Widgets-0.1-py2.7.egg (3.4 kB view hashes)

Uploaded Source

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