Кстати, плагин для контактов превосходен, и забудьте документацию, просто прочитайте код, все довольно просто.
Эта ветка старая, но мне нравится вопрос, и я думаю, что мне тоже нужна такая вещь, поэтому вот ответ:
Вы можете создать новое контактное приложение smartcontact, которое расширяет плагин контактов по умолчанию ...
Плагин для контактов использует эту форму:
class ContactForm(forms.Form):
email = forms.EmailField()
subject = forms.CharField(required=False)
content = forms.CharField(widget=forms.Textarea())
Тогда все, что вам нужно сделать, это создать файл cms_plugins.py внутри этой папки приложения и расширить приложение контактов, чтобы унаследовать это поведение, и просто исправить то, что вы хотите изменить. Так что проверьте этот непроверенный код ...:
from cmsplugin_contact.cms_plugins import ContactPlugin
from smartcontact.models import SmartContact #<-- your SmartContact model.
class SmartContactPlugin(ContactPlugin):
def send(self, form, site_email):
sc = SmartContact()
sc.from_email = form.cleaned_data['email']
sc.subject = form.cleaned_data['subject']
sc.content = form.cleaned_data['content']
#and then if you want to also send email, uncomment this to also call
#parent's version.
#ContactPlugin.send(self, form, site_email)
Так что, думаю, тогда вам понадобится модель, чтобы сохранить ее, и это было бы легко из полей, необходимых выше.
Не забудьте добавить свое новое приложение в settings.py и вставить plugin_pool.register_plugin(SmartContactPlugin)
в конце вашего нового файла cms_plugins.py.