Quantcast
Channel: dev sniper » Pyramid Framework
Viewing all articles
Browse latest Browse all 9

Pyramid framework tips : WebHelpers html tags and Paginate

$
0
0

WebHelpers has many useful functions. WebHelpers html tags and paginate are very useful for Pyramid Applications.Some features are not compatible with Pyramid framework, please see documentations.

WebHelpers in Pyramid Applications: install WebHelpers with easy_install:

$ easy_install WebHelpers

In Pyramid Application in __init__.py:

def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
  ...
  config.add_subscriber(add_renderer_globals, BeforeRender)
  ...

In helpers.py module:

  # your helpers imports
  from webhelpers.html.tags import *

In subscribers.py module:

def add_renderer_globals(event):
    """ add helpers """
    event['h'] = helpers

In Mako Templates:

  ## text input
  ${h.text("name", model.name, class_ = "large", maxlength="100")}

How to use WebHelpers Paginate with SQLAlchemy?
In your controller code:

@view_config(route_name="category_list", renderer="category/list.html")
def list(request):
    """categories list """
    ...
    # db query
    dbsession = DBSession()
    query = dbsession.query(Customer)

    # paginate
    page_url = paginate.PageURL_WebOb(request)
    customers = Page(query,
                     page=int(request.params.get("page", 1)),
                     items_per_page=10,
                     url=page_url)

    return {"customers": customers}

Paginate format in Mako Templates:

<div class="pager">
  <% link_attr={"class": "btn small"} %>
  <% curpage_attr={"class": "btn primary small disabled"} %>
  <% dotdot_attr={"class": "btn small disabled"} %>
  ${customers.pager(format="$link_previous ~2~ $link_next",
    symbol_previous="«",
    symbol_next="»",
    link_attr=link_attr,
    curpage_attr=curpage_attr,
    dotdot_attr=dotdot_attr)}
</div>

paginate

I am using Bootstrap from Twitter as css framework.


Viewing all articles
Browse latest Browse all 9

Trending Articles