Bonjour,
Je suis en train d'apprendre django, et je viens de mettre mon projet en production avec Apache (mod_wsgi) sur Linux debian Squeeze.
Basiquement, il s'agit d'un blog avec des messages, la page principale devant afficher le dernier post publié.
Voici le code dans views.py:
Voici le code dans index.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 def index(request): messages = get_list_or_404(Message.objects.order_by('publication_date')) last = messages[-1] return render_to_response('posts/index.html', { 'last_message' : last, 'posts_list' : messages, })
Normalement, le dernier post s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 {% if last_message %} <article> <h1><a href="/posts/{{ last_message.id }}">{{ last_message.title }}</a></h1> <p class="meta_infos">Published on {{ last_message.publication_date }}</p> <p>{{ last_message.text }}</p> </article> {% else %} <p>No post available</p> {% endif %}
Cependant, lorsque j'appuie sur F5, encore, et encore (pas comme un bourrin, mais toutes les secondes, par exemple) des fois, le premier message s'affiche au lieu du dernier.
J'ai essayé ce code pour view.py:
avec le même résultat aléatoire: Des fois le dernier, des fois le premier post s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def index(request): messages = get_list_or_404(Message.objects.order_by('publication_date')) try: last = Message.objects.filter(publication_date__isnull=False).objects.order_by('publication_date')[0] except IndexError: raise Http404 return render_to_response('posts/index.html', { 'last_message' : last, 'posts_list' : messages, })
Je précise que lorsque je teste avec le serveur de développement de django, je n'ai pas ce comportement. Donc le problème viendrait d'apache? Rien de bizarre dans les logs pourtant.
Merci beaucoup pour m'aider à comprendre ce qui cloche ici !![]()
Partager