Cache (cache).. Date non mise a jour
Réponses:
6
Visites:
0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum.
Inscrivez-vous maintenant
Cache (cache).. Date non mise a jour
Posté par
airod
le
13/08/2009 08:56
bonjour, je suis bien embeté, j'ai un header dans mon site qui affiche la date via une fonction Python (donc coté serveur).
Seulement celle ci ne se met pas a jour lors d'une nouvelle connexion (a partir du meme ordi) le lendemain, et surlendemain, ect.... tant que je n'ai pas redemarré le serveur. Quelqu'un a t il une idée.... aujoud'hui je suis encore au vendredi 7 Aout!!!!! lol merci |
-
Re: Cache (cache).. Date non mise a jour
Posté par petit le 13/08/2009 11:47peut-être un pb de cache au niveau du serveur pour ton header ou ton script python.
sur mon site webaudruicq.objectis.net j'affiche un calendrier et celui est actualisé à chaque affichage même si la fonction cache est active au niveau du navigateur. -
Re: Cache (cache).. Date non mise a jour
Posté par airod le 26/08/2009 08:21ok, je veux bien mais comment puis je controler le cache. Mon script python (external methode) qui affiche la date n'est pas mise dans le http cache ou le Ram cache, donc normalement il davrait se mettre a jour, non!
merci d'avance -
Re: Cache (cache).. Date non mise a jour
Posté par airod le 31/08/2009 08:54voici le code que j'ai mis dans une External Méthode.code:import time
import datetime
def formatDayLongDateFR(date=time.strftime('%d/%m/%Y')):
mois=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']
jour=['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']
a=datetime.date(int(date.split('/')[2]),int(date.split('/')[1]),int(date.split('/')[0]))
dateFR=str(jour) + ' '+str(a.day)+ ' '+mois[(a.month)-1]+' '+str(a.year)
return dateFR
Je ne comprend pas, le script est simple. Bien sûr, je ne suis pas obligé de le mettre dans une external méthode (erreur des débuts).
Mais le problème reste entier, Pourquoi cette méthode reste en cache tant que le serveur n'est pas redémarré?
merci d'avance -
Re: Cache (cache).. Date non mise a jour
Posté par petit le 01/09/2009 08:13je suis étonné du positionnement de ton "return dateFR", je te propose de le décaler vers la droite sous dateFR. Essayes aussi de remettre à zéro '' ton dateFR puis dateFR=str(jour) + ' '+str(a.day)+ ' '+mois[(a.month)-1]+' '+str(a.year).
Il est vrai que nativement il est plus simple de faire un petit script python sous zope.
date=DateTime()
mois=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']
return "%s/%s/%s" % (date.day(),mois(int(date.month())],date.year())
pour avoir le jour exact, j'utilise à titre d'exemple le script python suivant :
liste=date.split('/')
jour_an = '3/1/2000'
rang1 = container.date_to_int(jour_an)
rang2 = container.date_to_int(date)
container.REQUEST.RESPONSE.setHeader('content-type','text/html')
jour_semaine=['L','M','M','J','V','S','D']
jour_english=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
nom_mois=['JANVIER','FEVRIER','MARS','AVRIL','MAI','JUIN','JUILLET','AOUT','SEPTEMBRE','OCTOBRE','NOVEMBRE','DECEMBRE']
max = 1
for i in container.graphe.jours:
if len(i) > max:
max = len(i)
boule = container.graphe.jours
jour = (rang2 - rang1)%7
rang = int(liste[0])
j = jour
mois = int(container.nb_jour(int(liste[2]),int(liste[1])))
le_mois = int(liste[1])
x = 0
print """<div style="text-align: center; color: black; font-family: Comic Sans MS; font-size: 0.8em; font-weight: bolder; font-style: oblique;">""" + nom_mois+ " " + liste[2] + """</div>"""
date=DateTime()
print """<table cellspacing="1" style="background-color: rgb(183, 229, 229); border-style: none;">"""
print """<tr>"""
y = 1
print """<td style="text-align: right; vertical-align: top; color: black; font-size: 0.6em;">""" + str(max) + """</td>"""
while y <= mois:
if y == int(date.day()):
print """<td style="vertical-align: bottom; text-align: center;"><img src="rouge" style="width: 10px; height: """ + str(round((int(len(boule))*100)/max)) + 'px; border-style: none;" alt="' + str(len(boule)) + '"' + """></td>"""
else:
print """<td style="vertical-align: bottom; text-align: center;"><img src="jaune" style="width: 10px; height: """ + str(round((int(len(boule))*100)/max)) + 'px; border-style: none;" alt="' + str(len(boule)) + '"' + """></td>"""
y = y + 1
print """</tr><tr>"""
x = 0
y = 1
print """<td style="text-align: right; vertical-align: top; color: black; font-size: 0.6em;">0</td>"""
while y <= mois:
if x < j:
print """"""
else:
if y < 10:
jour = "0" + str(y)
else:
jour = str(y)
if y == int(date.day()):
print """<td style= "border: 1px solid rgb(51, 51, 51); background-color: red; color: black; text-align: center; font-size: 0.6em;">""" + jour + "</td>"
else:
if ((x)%7 <> 6) and ((x)%7 <> 5):
print """<td style= "border: 1px solid rgb(51, 51, 51); text-align: center; color: black; font-size: 0.6em;">""" + jour + "</td>"
else:
print """<td style= "border: 1px solid rgb(51, 51, 51); background-color: rgb(51, 204, 0); color: black; text-align: center; font-size: 0.6em;"> """ + jour + """</td>"""
y = y + 1
x = x + 1
print """</tr></table>"""
print """<p><span style="color: rgb(0, 0, 153); font-family: Comic Sans MS;">(Nombre de pages vues)</span></p>"""
u=context.REQUEST['BASE0']
print """<a style="border-style: none; background-color: transparent;" href="""+ '"' + u + '/site/graphe/le_cal?jour=' + str(date.day()) + '"' + """target="_self">"""
print """<p><span style="color:red; font-family: Comic Sans MS;">Cliquez sur ce lien pour plus de détail</span></p>"""
print "</a>"
return printed -
Re: Cache (cache).. Date non mise a jour
Posté par airod le 01/09/2009 13:40hummm, le "return dateFR" est bien placé, c'est la mise en forme du post qui le décale. j'ai essayé de le corrigé mais rien n'y fait, le placement reste ainsi.
Donc pas d'erreur de ce coté....
En effet peut être, faut il initialiser ma variable en début de script.
J'essaie ca rapidement. Merci
je vous tiens au courant




