Templates & Tags
Tags Tera — static, link, media, messages, form.xxx.
Fichiers statiques et media
template
{# Fichiers dans static/ #}
<link rel="stylesheet" href="{% static "css/style.css" %}">
<script src="{% static "js/app.js" %}"></script>
{# Fichiers dans media/ (uploads utilisateur) #}
<img src="{% media article.image %}" alt="...">
Fichiers statiques et media
template
{# Fichiers dans static/ #}
<link rel="stylesheet" href="{% static "css/style.css" %}">
<script src="{% static "js/app.js" %}"></script>
{# Fichiers dans media/ (uploads utilisateur) #}
<img src="{% media article.image %}" alt="...">
CSRF + nonce CSP
template
<form method="POST">
{# CSRF automatique — inclus dans tout rendu de formulaire Runique #}
{% form.mon_form %}
...
</form>
{# Nonce CSP — pour les scripts inline autorises #}
<script nonce="{{ csp_nonce }}">
console.log(''autorise par la CSP'');
</script>
CSRF + nonce CSP
template
<form method="POST">
{# CSRF automatique — inclus dans tout rendu de formulaire Runique #}
{% form.mon_form %}
...
</form>
{# Nonce CSP — pour les scripts inline autorises #}
<script nonce="{{ csp_nonce }}">
console.log(''autorise par la CSP'');
</script>
Messages flash
template
{# Dans le template — tag Runique #}
{% messages %}
{# Dans le handler Rust #}
success!(request.notices => "Enregistre !");
error!(request.notices => "Erreur.");
info!(request.notices => "Info.");
warning!(request.notices => "Attention.");
Messages flash
template
{# Dans le template — tag Runique #}
{% messages %}
{# Dans le handler Rust #}
success!(request.notices => "Enregistre !");
error!(request.notices => "Erreur.");
info!(request.notices => "Info.");
warning!(request.notices => "Attention.");
Heritage de templates
template
{# base.html — template parent #}
<html>
<body>
{% block content %}{% endblock %}
</body>
</html>
{# page.html — template enfant #}
{% extends "base.html" %}
{% block content %}
<h1>Mon contenu</h1>
{% endblock %}
Heritage de templates
template
{# base.html — template parent #}
<html>
<body>
{% block content %}{% endblock %}
</body>
</html>
{# page.html — template enfant #}
{% extends "base.html" %}
{% block content %}
<h1>Mon contenu</h1>
{% endblock %}