Macros

These macros will help you to generate Rings codes quickly and easily.

render_field()

Render a field of a form created with Flask-WTF/WTForms.

Example

{% from 'rings/wtf.html' import render_field %}

<form method="post" actions="">
    {{ form.hidden_tag() }}
    {{ render_field(form.username) }}
    {{ render_field(form.password) }}
    {{ render_field(form.submit) }}
</form>

Args

render_field(field, button_type="btn-blue", class="")
Parameters
  • field – The field to render

  • button_type – The style of the submit button, defaults to “btn-blue”

  • class – The extra classes to be added to the field

Tip: You can include spaces in the button_type argument, for example:

{% from 'rings/wtf.html' import render_field %}

<form method="post" actions="">
    {{ form.hidden_tag() }}
    {{ render_field(form.username) }}
    {{ render_field(form.password) }}
    {{ render_field(form.submit, button_type="btn-blue btn-large") }}
</form>

render_form()

Render a form created with Flask-WTF/WTForms.

Example

{% from 'rings/wtf.html' import render_form %}

<h1>Form title</h1>
{{ render_form(form) }}

Args

render_form(form, action="", method="POST", class="", role="form", id="", submit_button_type="btn-blue")
Parameters
  • form – The form (generated by wtforms) to render

  • action – The URL to receive form data, defaults to current URL

  • method – The HTTP Method to send form data, only supports GET and POST

  • class – <form> class attribute.

  • role – <form> role attribute.

  • id – <form> id attribute.

  • submit_button_type – The style of the submit button, defaults to “btn-blue”

render_nav_item()

Render a navigation item in a navigation bar.

Example

{% from 'rings/nav.html' import render_nav_item %}

<nav>
    <ul>
        {{ render_nav_item("endpoint", "label") }}
    </ul>
</nav>

Args

render_nav_item(endpoint, label, label_style='white', tag='', tag_style='blue')
Parameters
  • endpoint – The endpoint used to generate URL.

  • label – The label of the navigation item.

  • label_style – Custom text style for label

  • tag – The tag to display

  • tag_style – Custom text style for tag

render_flashed_message()

Render a flashed message.

Example

{% from 'rings/utils.html' import render_flashed_message %}

{% for message in get_flashed_messages(with_categories=True) %}
    {% if message[0] %}
        {% set category = message[0] %}
    {% else %}
        {% set category = 'info' %}
    {% endif %}
    {{ render_flashed_message(message[1], category) }}
{% endfor %}
render_flashed_message(message, category='info')
Parameters
  • message – The message to render.

  • category – The category of the message, defaults to info