url_to
(path,
alt=None,
absolute=None,
external=None,
base_url=None,
resolve=None,
strict_resolve=None
)Calculates the URL from the current source object to the given other source object. Alternatively, a path can also be provided instead of a source object.
This is what the |url
filter uses
internally to generate URLs.
If resolve
is not False
, then (so long as path
is not a URL
containing either a scheme or a netloc) an attempt is made to
resolve path
via the Lektor database to a source object,
then the URL of that source object is used. If database-resolution of
the path fails, then the path is interpreted as a URL-path, or, if
strict_resolve
is True
, an error is raised.
If the path starts with a leading bang (!
) then no resolving is
performed. This is equivalent to passing resolve=False
.
An explicit value for alt
may be specified via the alt
parameter to url_to
.
Alternatively, an alt
query arg may be included in the path
parameter.
For example, src.url_to('/', alt='de')
is equivalent to src.url_to('/?alt=de')
— both return the URL to the root of the site with alt=de
.
If no alt
is provided the alt
of the page is used.
In addition to that absolute
can enforce the URL to be absolute instead of
relative to the current page and external
can be used to also add the
domain part to the URL (if configured). The default behavior is to use the
configured URL style (which is relative
) unless absolute or external were
explicitly provided. For more information read about this in the
Project Configuration.
{% set downloads = site.get('/downloads') %} Path from downloads to here: {{ downloads.url_to(this) }}
Comments