DJANGO COMMENTS_APP, как я могу его использовать? Не работал оставить комментарий - PullRequest
1 голос
/ 24 октября 2011

Я пытаюсь настроить модуль комментариев django (удалить поле URL). Я создаю пустой класс VSComments и форму

from django import forms
from django.contrib.comments.forms import CommentForm
from vs_comments.models import VSComment

class VSCommentForm(CommentForm):
    """
    No url Form
   """
VSCommentForm.base_fields.pop('url')

__init__

from vs_comments.models import VSComment
from vs_comments.forms import VSCommentForm

def get_model():
    return VSComment

def get_form():
    return VSCommentForm

также url (r '^ comments /', include (' django.contrib.comments.urls ')),

включает' vs_comments 'и' django.contrib.comments 'в INSTALLED_APPS и COMMENTS_APP =' vs_comments '

В результате, У меня правильная форма, без поля URL, но отправка комментариев не работает


soution добавить в класс формы

def get_comment_create_data(self):
# Use the data of the superclass, and remove extra fields
    return dict(
        content_type = ContentType.objects.get_for_model(self.target_object),
        object_pk    = force_unicode(self.target_object._get_pk_val()),
        comment      = self.cleaned_data["comment"],
        name         = self.cleaned_data["name"],
        submit_date  = datetime.datetime.now(),
        site_id      = settings.SITE_ID,
        is_public    = True,
        is_removed   = False,
    )

Для панели администратора

class VSCommentAdmin(CommentsAdmin):
    """
    all like native comments
    """
admin.site.register(Comment, CommentsAdmin)

Но теперь не работают теги render_comment_list и другие.Никаких ошибок, только пустой результат. Как это исправить?

1 Ответ

0 голосов
/ 24 октября 2011

Есть ли у вас ошибка трассировки?

Я думаю, что это не сработает, потому что при проверке вашей VSCommentForm используется валидатор CommentForm, а поле "url" отсутствует в вашей настраиваемой форме.

Вы должны прочитать больше о настраиваемой форме, которая наследуется от другой формы и ее проверки:

https://docs.djangoproject.com/en/dev/topics/forms/#processing-the-data-from-a-form

https://code.djangoproject.com/wiki/CustomFormFields

https://docs.djangoproject.com/en/dev/ref/forms/validation/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...