calendar überschreiben
Verfasst: Donnerstag 25. Dezember 2014, 12:16
Das Modul calendar beinhaltet eine Klasse mit welcher man eine HTML-Tabelle erstellen kann, diese ist auch gut.
Ich würde gerne alle Kästchen mit einer Farbe füllen, was in der mit der Manipulation der Funktion formatday(self, day, weekday) gut funktioniert
Nun will ich ja nicht die gesamte Basisklasse verändern, sondern diese nur überschreiben wie ich es folgend gemacht habe.
jetzt schaffe ich es nicht auszugeben so das die neue formatday Funktion benutzt wird und nicht die von calendar
um den eingebauten calender zu benutzen tipp ich den folgenden Code
Doch meine Klasse schaffe ich einfach nicht zu integrieren:
Es benutzt immer noch die calendar Klasse, ich weiß es ist ein sehr dummer Fehler, aber ich sitze schon seit 3 Tagen dran.
Ich würde gerne alle Kästchen mit einer Farbe füllen, was in der mit der Manipulation der Funktion formatday(self, day, weekday) gut funktioniert
Code: Alles auswählen
def formatday(self, day, weekday):
"""
Return a day as a table cell.
"""
if day == 0:
return '<td class="noday"> </td>' # day outside month
else:
return '<td bgcolor="#00FFFF" class="%s">%d</td>' % (self.cssclasses[weekday], day) #<---------- bgcolor="#00FFFF" eingefügt
Code: Alles auswählen
from calendar import HTMLCalendar
class Kalender(HTMLCalendar):
def formatday(self, day, weekday):
"""
Return a day as a table cell.
"""
if day == 0:
return '<td class="noday"> </td>' # day outside month
else:
return '<td bgcolor="#00FFFF" class="%s">%d</td>' % (self.cssclasses[weekday], day)
um den eingebauten calender zu benutzen tipp ich den folgenden Code
Code: Alles auswählen
def hello2():
myCal = calendar.HTMLCalendar(calendar.SUNDAY)
myStr = myCal.formatmonth(2009, 7)
print myStr
return render_template('hello.html', calender = myStr) #<----- außer acht lassen
Code: Alles auswählen
def hello2():
myCal = Kalender.HTMLCalendar(calendar.SUNDAY) #<--- Hier liegt das Problem habe schon unzählige Möglichkeiten ausprobiert
kalender = myCal.formatmonth(2009, 7) #<--- es will einfach nicht meine Klasse benutzen
print kalender
return render_template('hello.html', calender = kalender) #<----- außer acht lassen