Templates

Template Language

  • Absichtlich:
    • Einfacher Syntax
    • !KEINE LOGIK!
  • Wurde von vielen kopiert

Template Language

  • Tags: {% if %}, {% endif %}, {% load static %}
  • Filter: {{project.name|lower|striptags|truncatewords:2 }}
  • Vererbung: {% extends "base.html" %}, {% block content %}

Note


Template-HTML

core/templates/index.html

<!DOCTYPE html>
<html>
    <head>
        <title>Portfolio</title>
    </head>
    <body>
        <h1>Hi!</h1>
        {{ message }}
    </body>
</html>

Template in der View verwenden

core/views.py

from django.template import RequestContext

def index(request):
    context_dict = {'message': "Ich komme aus dem context_dict"}
    return render(request, 'index.html', context_dic)

Statische Medieninhalte

portfolio/settings.py

STATIC_URL = '/static/'

Note

Statische Inhalte sind anders zu behandeln als Medieninhalte.


Im Template

core/templates/index.html

{% load staticfiles %}

 <img src="{% static 'example.jpg' %}" alt="Picture" />

Note

Das Bild dazu muss unter core/static/example.jpg liegen.


Assets einbinden

<link rel="stylesheet" href="{% static 'css/base.css' %}" />
<script src="{% static 'js/jquery.js' %}"></script>

Übung: “Über mich”-Seite