Django commento, aggiungere il simbolo al commento URL?
-
12-09-2019 - |
Domanda
im utilizzando il sistema di commento, ora, vorrei riscrivere il segmento formare il commento URL e accodare un simbolo #, voglio spostare la pagina seccion all'elenco commento esattamente l'ultimo commento utente con <a name=#{{comment.id}}?> username </a>
Im usando successivo per reindirizzare l'usen quando il commento è stato postato:
{% 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>
Ma nel Django doc non dice nulla di riscrittura o Customizer il commento di reindirizzamento / url
Qualche idea?
Grazie
Soluzione
Ho appena imbattuto in questo po 'di bruttezza. Dopo aver letto il codice sorgente non ho visto alcun bel modo per ignorare questo comportamento. Per impostazione predefinita, si viene reindirizzati alla URL nel variabili {{ next }}
del modello e Django aggiunge un ?c=1
per l'URL in cui il 1
è l'ID del commento. Ho voluto questo per essere invece #c1
modo che l'utente è saltato in basso nella pagina per il commento che hanno appena pubblicato. Ho fatto questo con un po 'di "patching scimmia" come segue:
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