Seite 1 von 1

Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 13:37
von Pitwheazle
Möglicherweise gehört das ja in ein HTML Forum?
Ich schicke ein Queryset "profil" an ein Template und liste dort einige Inhalte auf:

Code: Alles auswählen

            {% for profil, gesamt, neu in zeilen %}
            <tr>
                <td>{{profil.vorname }}</td>            
                <td>{{profil.nachname }}</td>  
                <td>{{profil.user.username }}</td>            
                <td>{{profil.user.id }}</td>          
                <td>{{gesamt }}</td>
                <td>{{neu }}</td>
                <td>{{profil.user.last_login }}</td>
            </tr>            
            {% endfor %}
und "profil.user.last_login" wird z.B. als 18.Januar 2024 13:33" angezeigt. Ich will keinen Monatsname, möglichst nur zweistelliges Jahr und keine Uhrzeit. Wenn ich das vom view ans Template schicke, kann ich das - wie aber ändert man das in HTML - oder geht das nicht? Im Internet habe ich jedenfalls keine Möglichkeit gefunden (die ich verstehe). Sonst z.B bei Dezimalzahlen geht das doch ganz einfach - beim Datum nicht?

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 14:02
von grubenfox
Pitwheazle hat geschrieben: Donnerstag 18. Januar 2024, 13:37 oder geht das nicht?
Ich sage mal: Nein, das geht nicht... jedenfalls nicht in HTML.
Pitwheazle hat geschrieben: Donnerstag 18. Januar 2024, 13:37 Sonst z.B bei Dezimalzahlen geht das doch ganz einfach - beim Datum nicht?
Das geht wie bei z.B bei Dezimalzahlen?

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 15:06
von noisefloor
Hallo,

wenn man im Template mit übergebenen Werten irgendwas machen will immer mal nach den in Django enthaltenen Template-Filtern schauen. Die können einiges. Für's Datum gibt es auch was: https://docs.djangoproject.com/en/4.2/r ... tins/#date.

Gruß, noisefloor

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 16:12
von Pitwheazle
grubenfox hat geschrieben: Donnerstag 18. Januar 2024, 14:02 Das geht wie bei z.B bei Dezimalzahlen?
Danke, beim Suchen nach dem Filter bei Dezimalzahlen habe ich den für das Datum gefunden:

Code: Alles auswählen

<td>{{profil.user.last_login|date:"d.m.y" }}</td>
und diesen meinte ich bei Dezimalzahlen:

Code: Alles auswählen

{{protokoll.wert|floatformat:"-3"}}

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 16:22
von grubenfox
Ach so, nicht in HTML, sondern in der Django-Template Sprache...

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 16:24
von Pitwheazle
Also war die Frage doch hier richtig und nicht im HTML Forum. Das ist also ein Django Teil!

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 18:44
von noisefloor
Hallo,

ja, also in dem Fall ja. Du bist im Template und alles in {{ }} gehört zu dem Teil vom Template, den die Django Template Engine auswertet. Eine HTML Frage wäre, wenn dir bei <td> oder <tr> oder so nicht klar wäre. Das hat dann wirklich nichts mit Django zu tun.

Gruß, noisefloor

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 18:56
von Pitwheazle
Einfach gesagt, das was zwischen {{}} steht, bleibt auf dem Server und wird verabeitet ins Netz geschickt? ... und die Verarbeitung ist Django und nicht Python.

Re: Format des Datums im Template

Verfasst: Donnerstag 18. Januar 2024, 19:58
von snafu
Pitwheazle hat geschrieben: Donnerstag 18. Januar 2024, 18:56 Einfach gesagt, das was zwischen {{}} steht, bleibt auf dem Server und wird verabeitet ins Netz geschickt? ... und die Verarbeitung ist Django und nicht Python.
Ja natürlich, die Platzhalter werden innerhalb der Django-Umgebung aufgelöst, bevor sie an die "Außenwelt" zurück geliefert werden. Anders kann es ja auch schlecht funktionieren, wenn eine Django-spezifische Template-Engine verwendet wird. Selbst wenn ein Browser die Syntax für x-beliebige Template-Sprachen kennen würde, so käme er ja immer noch nicht an die dahinterstehenden Inhalte für die Auflösung ran.

Templates sind nichts, was von HTML definiert wird, sondern die stellen einfach eine vorgelagerte Instanz dar. Auch sind Template-Sprachen keinesfalls auf HTML-Inhalte beschränkt. Der Template-Engine ist es nämlich egal, in welcher Art von Text sie die Ersetzungen vornehmen soll. Der Code für HTML-Seiten ist einfach nur ein prominentes Anwendungsgebiet dafür.

Re: Format des Datums im Template

Verfasst: Freitag 19. Januar 2024, 08:59
von Kebap
Django erstellt für dich eine HTML-Seite. Der Browser bei den Schülixen kann nur HTML anzeigen. OK und vielleicht Javascript usw. Aber Django folgt dabei deinen Vorgaben im Code. Dazu benutzt du ja die Template-Sprache, um Django mitzuteilen: Ungefähr so sollte das HTML am Ende aussehen, und hier fügst du noch dies ein, und dort jeweils einmal jenes für jedes Objekt in folgender Liste, usw.

Re: Format des Datums im Template

Verfasst: Freitag 19. Januar 2024, 10:40
von Pitwheazle
Danke, sehr informativ.