Template tags¶
Category tags¶
Load these tags using {% load category_tags %}
.
category_tree
¶
Generates an annotated list of categories in a structure indented for easy rendering of a nested tree in a single loop:
{% category_tree as tree_categories %}
<ul>
{% for category, info in tree_categories %}
<li>
<a href="{{ category.get_absolute_url }}">{{ category.name }}</a>
{% if info.has_children %}
<ul>
{% else %}
</li>
{% endif %}
{% for n in info.num_to_close %}
</ul></li>
{% endfor %}
{% endfor %}
</ul>
Each item in the list is a tuple of the form:
(
category,
{
'has_children': True, # Whether this node has children in the tree
'level': 1, # The depth of this node
'num_to_close', # A list indicating the number of leaf branches that
# this category terminates.
}
)
The arguments are:
Argument |
Description |
---|---|
|
The depth to which to fetch child categories |
|
The parent category for which to get a list of children |
Shipping tags¶
Load these tags using {% load shipping_tags %}
.
shipping_charge
¶
Injects the shipping charge into the template context:
Usage:
{% shipping_charge shipping_method basket as name %}
Shipping charge is {{ name }}.
The arguments are:
Argument |
Description |
---|---|
|
The shipping method instance |
|
The basket instance to calculate shipping charges for |
|
The variable name to assign the charge to |
shipping_charge_discount
¶
Injects the shipping discount into the template context:
Usage:
{% shipping_discount shipping_method basket as name %}
Shipping discount is {{ charge }}.
The arguments are:
Argument |
Description |
---|---|
|
The shipping method instance |
|
The basket instance to calculate shipping charges for |
|
The variable name to assign the charge to |
shipping_charge_excl_discount
¶
Injects the shipping charges with no discounts applied into the template context:
Usage:
{% shipping_charge_excl_discount shipping_method basket as name %}
Shipping discount is {{ name }}.
The arguments are:
Argument |
Description |
---|---|
|
The shipping method instance |
|
The basket instance to calculate shipping charges for |
|
The variable name to assign the charge to |
Image tags¶
Load these tags using {% load image_tags %}
.
oscar_thumbnail
¶
Returns the thumbnail URL for a source file.
<img src="{% oscar_thumbnail image.original '440x400' upscale=False %}" />
or places thumbnail object in the context, providing access to the properties of the thumbnail such as the height and width.
{% oscar_thumbnail image.original "70x70" upscale=False as thumb %}
<img src="{{ thumb.url }}" height="{{ thumb.height }}" width="{{ thumb.width }}">
Usage:
{% oscar_thumbnail [source] [size] [options] %}
or
{% oscar_thumbnail [source] [size] [options] as [variable] %}
When the OSCAR_THUMBNAIL_DEBUG
setting is set to True
, this template tag will fail with an error if an exception is raised while generating the thumbnail. If set to False
, an empty string is returned.
The arguments are:
Argument |
Description |
---|---|
|
Can be an ImageField, FileField, a file name (assuming default_storage), a URL. |
|
Specified as |
|
Space separated list of options which are used when processing the image to a thumbnail.
E.g. option |
Datetime filters¶
Load these tags using {% load datetime_filters %}
.
timedelta
¶
Returns a human-readable string representation of a time delta, in the current locale:
Time since creation: {{ basket.time_since_creation|timedelta }}
This renders something like:
Time since creation: 2 days
URL tags¶
Load these tags using {% load url_tags %}
.
absolute_url
¶
Returns an absolute URL for the provided domain and path.
<a href="{% absolute_url site.domain reset_url %}" class="btn-primary">Reset password</a>
This tag can be used with blocktrans
as follows:
{% absolute_url site.domain reset_url as absolute_reset_url %}
{% blocktrans with url=absolute_reset_url %}
You can reset your password here - {{ url }}
{% endblocktrans %}
The schema for absolute url can be set through OSCAR_URL_SCHEMA
setting (http
by default).