Question

im en utilisant le système de commentaire, maintenant, je voudrais récrire le segment forme le commentaire url et ajouter un symbole #, je veux déplacer la page seccion à la liste des commentaires exactement au dernier utilisateur de commentaire avec <a name=#{{comment.id}}?> username </a>

Im en utilisant suivant pour rediriger le CAFR lorsque le commentaire a été publié:

{% get_comment_form for object as form %}
<form action="{% comment_form_target %}" method="POST">
  {{ form }}
  <input type="hidden" name="next" value="{{ object.get_absolute_url }}" />
  <input type="submit" name="preview" class="submit-post" value="Preview"></td>  
</form>

Mais dans le Django Doc Ne rien dire sur REWRITE Customizer le commentaire redirect / url

Toute idée?

Merci

Était-ce utile?

La solution

Je viens de tombé sur ce petit peu de laideur. Après avoir lu le code source, je ne vois aucune bonne façon de passer outre ce comportement. Par défaut, vous êtes redirigé vers l'URL dans la variable {{ next }} du modèle et Django ajoute un ?c=1 à l'URL où le 1 est l'ID du commentaire. Je voulais que ce soit à la place #c1 afin que l'utilisateur est sauté la page pour le commentaire qu'ils viennent affichés. Je l'ai fait avec un peu de « patching de singe » comme suit:

from django.contrib.comments.views import utils
from django.core import urlresolvers
from django.http import HttpResponseRedirect

def next_redirect(data, default, default_view, **get_kwargs):
    next = data.get("next", default)
    if next is None:
        next = urlresolvers.reverse(default_view)
    if get_kwargs:
        next += '#c%d' % (get_kwargs['c'],)
    return HttpResponseRedirect(next)

# Monkey patch
utils.next_redirect = next_redirect
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top