Tags Django-like
Runique pré-traite les templates pour transformer une syntaxe Django-like en syntaxe Tera standard.
{% static %} — Assets statiques
<link rel="stylesheet" href='{% static "css/main.css" %}'>
<script src='{% static "js/app.js" %}'></script>
<img src='{% static "images/logo.png" %}' alt="Logo">
Transformé en : {{ "css/main.css" | static }} → /static/css/main.css
{% media %} — Fichiers médias (uploads)
<img src='{% media "avatars/photo.jpg" %}' alt="Photo de profil">
Transformé en : {{ "avatars/photo.jpg" | media }} → /media/avatars/photo.jpg
{% csrf %} — Protection CSRF
<form method="post" action="/inscription">
{% csrf %}
<button type="submit">Envoyer</button>
</form>
Transformé en : {% include "csrf/csrf_field.html" %}
Non nécessaire dans les formulaires Runique (
{% form.xxx %}) — le token CSRF est injecté automatiquement.
{% messages %} — Flash messages
{% messages %}
Transformé en : {% include "message/message_include.html" %}
{% csp_nonce %} — Nonce CSP
<script {% csp_nonce %}>
console.log("Script sécurisé avec nonce CSP");
</script>
Transformé en : {% include "csp/csp_nonce.html" %}
{% link %} — Liens vers des routes nommées
<a href='{% link "index" %}'>Accueil</a>
<a href='{% link "user_detail" id="42" %}'>Profil utilisateur</a>
Transformé en : {{ link(link='index') }}
{% form.xxx %} — Rendu de formulaire complet
<form method="post" action="/inscription">
{% form.inscription_form %}
<button type="submit">S'inscrire</button>
</form>
Transformé en : {{ inscription_form | form | safe }}
Rend l'intégralité du formulaire : tous les champs HTML, les erreurs de validation, le token CSRF, et les scripts JS nécessaires.
{% form.xxx.champ %} — Rendu d'un champ isolé
<form method="post" action="/inscription">
<div class="row">
<div class="col">{% form.inscription_form.username %}</div>
<div class="col">{% form.inscription_form.email %}</div>
</div>
{% form.inscription_form.password %}
<button type="submit">S'inscrire</button>
</form>
Transformé en : {{ inscription_form | form(field='username') | safe }}