Asset

Base class: Fragment

Class that describes an asset in iommi. Assets are meant to be the elements that you refer to in the HEAD of your document such as links to scripts, style sheets as well as inline scripts or css. But if necessary you can specify an arbitrary django template.

Every Part can include the assets it needs. Similarly Style can include assets. When a part is rendered all assets are included in the head of the document.

Because assets have names (Everything has a name), assets with the same name will overwrite each other, resulting in only one asset with a given name being rendered.

Refinable members

after     (evaluated)

Type: Union[int, str]

See after

assets

Type: Namespace

See assets

attrs     (evaluated)

Type: Attrs

children

endpoints

Type: Namespace

extra

Type: Dict[str, Any]

See extra

extra_evaluated

Type: Dict[str, Any]

See extra

extra_params

in_body

Type: bool

include     (evaluated)

Type: bool

See include

iommi_style

Type: str

tag     (evaluated)

See tag

template     (evaluated)

Type: Union[str, iommi._web_compat.Template]

Shortcuts

Asset.css

To use this shortcut, pass attrs__href='/my_url_to_the.css'

Examples:

Asset.css(
    attrs__href='https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css',
    attrs__integrity='sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh',
    attrs__crossorigin='anonymous',
)

Asset.css('p { font-size: 18pt; }')

Defaults

  • tag
    • link

  • attrs__rel
    • stylesheet

Asset.js

To use this shortcut, pass attrs__src='/my_url_to_the.js'

Examples:

Asset.js(
    attrs__src='https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/js/select2.min.js',
)

Asset.js('window.foo = bar')

Defaults

  • tag
    • script