Zeitstempel umwandeln

Django, Flask, Bottle, WSGI, CGI…
Antworten
dfint
User
Beiträge: 9
Registriert: Montag 23. April 2018, 14:06

Hallo,

ich habe mit Scrapy eine Website ausgelesen und dabei auch Zeitstempel, welche auf der Website eingetragen waren, gesichert. Leider ist das Zeitstempelformat in einem ISO-Format. Ich suche nun nach einer Möglichkeit diesen Zeitstempel entweder in der views.py oder direkt im Template umzuwandeln, bekomme es jedoch nicht hin. Es soll analaog zu folgendem Code funktionieren:

Code: Alles auswählen

 
 
 import datetime
 import dateutil.parser
 
 timestamp = "2018-03-09T12:01:07Z"
 date = dateutil.parser.parse(timestamp).strftime('%d.%M.%Y')
 
 
was das Format 09.01.2018 ergäbe.

Auszugsweise aus meiner models.py:

Code: Alles auswählen


class Post(models.Model):

	author = CharField(max_length=30)
	text = CharField(max_length=500)
	timestamp = CharField(max_length=30)

und dann eben später im Template:

Code: Alles auswählen


...

{% for post in posts %}

{{post.timestamp}}

{% endfor %}

Bekomme ich das irgendwie hin? Bin über jeden Tipp dankbar.
Habe schon zig Sachen versucht...


Gruß,
dfint
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du kannst das beim scrapen machen, oder beim auslesen. Dazu hast du doch einen view.
dfint
User
Beiträge: 9
Registriert: Montag 23. April 2018, 14:06

__deets__ hat geschrieben: Dienstag 18. September 2018, 12:52 Du kannst das beim scrapen machen, oder beim auslesen. Dazu hast du doch einen view.
Ja das weiß ich auch. Gibt es dennoch hierfür eine Möglichkeit?

Oder auch anders gefragt: wie greife ich innerhalb der views in Django auf einzelne Attribute eines Models zu? Also wie hier im Beispiel auf die 'timestamp'-Attribute des Model Post.

Ich dachte es würde mit .values(timestamp) funktionieren, aber da bekomme ich ja auch wieder nur ein QuerySet zurück.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Dass bei Deinem Model timestamp ein CharField ist, ist der Fehler. Schreibe die Daten richtig in die Datenbank, dann hast Du später keine Probleme.
Antworten