¿Cómo puedo hacer un formulario usando django.contrib.comments.forms?

Este es el archivo de formulario de django.contrib.comments.forms:

https://github.com/django/django/blob/master/django/contrib/comments/forms.py

Necesito crear un objeto de esa forma y usarlo en la plantilla. No quiero crear un objeto de formulario html manualmente en plantillas, quiero reutilizar ese contrib.comments.forms.

¿Cómo puedo hacerlo?

preguntado el 02 de febrero de 12 a las 11:02

1 Respuestas

Algo como esto. Puede ser necesario modificar este código según cómo desee procesar los datos del formulario.

from django.contrib.comments.forms import CommentForm

# views.py
dev my_view(request):
    my_obj = MyModel.objects.get(id=1)
    form = CommentForm(my_obj)
    return render(request, 'comment-template.html', {'form': form})

# comment_template.html
<form action="{% comment_form_target %}" method="post">
    {% csrf token %}
    {{ form.as_p }}
    <input type="submit">
</form>

Respondido 02 Feb 12, 16:02

CommentForm necesita un objeto en __init__. MyObject es cualquiera de sus modelos, al que se asignarían comentarios. - demalexx

Pero si ve este código, github.com/django/django/blob/master/django/contrib/comments/… , el parámetro no es un modelo, sino CommentDetailsForm clase - miserablemente

No es un parámetro, es una clase base. CommentSecurityForm es a su vez clase base para CommentDetailsFormy CommentSecurityForm tiene __init__ método con target_object argumento. - demalexx

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.