简单的应用程序,它提供可定制的电子邮件表单模板标签。您可以指定表单字段,并可选地启用专用视图来呈现反馈页。

redsolutioncms.django-simple-feedback的Python项目详细描述


快速启动

代码

feedback添加到已安装的应用程序中

INSTALLED_APPS = [
    ...
    'feedback',
    ...
]

urlpatterns示例:

^{tt2}$

同步数据库模型运行django syncdb

在模板中

加载标记库:

^{tt4}$

在模板中插入模板标记

^{tt5}$,

其中key是反馈表单键。默认键值是default

要求

注意,反馈使用基于jquery的ajax表单,因此需要包含jquery 在你的页面上。您可以从谷歌主机安装:

^{tt8}$

设置

反馈表单
自定义反馈表单的注册表。请参见“自定义”部分。
反馈表单名称
反馈表单名称的注册表。请参见“自定义”部分。

自定义

如果要自定义默认反馈表单或添加自己的反馈表单,则必须 使用表单创建应用程序。所有反馈表单都应该是 feedback.forms.BaseFeedbackForm。下面是自定义反馈类的示例:

from django import forms
from feedback.forms import BaseFeedbackForm


class OrderForm(BaseFeedbackForm):
    name = forms.CharField(label=u'Your name', max_length=200)
    email = forms.EmailField(label=u'Your Email', max_length=200)
    phone = forms.CharField(label=u'Phone', max_length=200)
    address = forms.CharField(label=u'Your address', max_length=200)
    date = forms.CharField(label=u'Date and time', max_length=200)
    file = forms.FileField(label=u'Attach the file')

    response = forms.CharField(label=u'Comment', max_length=500,
        widget=forms.Textarea(attrs={'cols':'30', 'rows':'5'}))
    subject = u'Custom order form'

subject属性出现在电子邮件主题中。

然后您需要将反馈表放入您的设置中。py:

FEEDBACK_FORMS-dictionary对象,描述您的 地点。每个键值对代表对象的反馈。例如:

FEEDBACK_FORMS = {
    'default': 'feedback.forms.FeedbackForm',
    'order': 'mysite.custom_feedback.forms.OrderForm',
}

您还可以指定FEEDBACK_FORMS_NAMES选项:

FEEDBACK_FORMS_NAMES-dictionary对象,它定义在邮件列表管理界面中显示反馈表单的方式。 每个键值对代表对象的反馈。例如:

FEEDBACK_FORMS_NAMES = {
    'order': 'Online order form',
}

现在我们可以在模板中包含{% show_feedback order %},并获取重写的表单。

自定义模板

如果有自定义窗体类,则可以创建自定义模板。应用程序首先搜索它们。模板名称为:

feedback/form嫒key/feedback.htmlfeedback/feedback.html
用于呈现窗体本身
feedback/form嫒key/thankyou.htmlfeedback/thankyou.html
用于渲染成功响应
feedback/表单密钥/email.txtfeedback/反馈信息.txt
用于呈现电子邮件文本

邮件列表

您可以使用管理界面为每个反馈表单指定邮件列表。默认情况下,来自所有反馈表单的消息都会发送到经理设置指定的电子邮件

新功能

0.4.1-添加了定义人性化表单名称的选项。 0.4.0-新版本。数据库中的响应已删除,邮件列表已添加。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaBridge errno=10054被Remotehost关闭   javafx如何在每次调用方法中的变量时更新它?(爪哇)   java mod_群集在发现后未平衡负载   Java软件编辑器/语法高亮   java为什么不能强制转换数组的结果。asList()到ArrayList?   java HIBERNATE:无法使用HIBERNATE从MySQL中提取数据   java在Google地图片段上添加布局   java在AbstractTableModel中执行setValueAt之前,我如何做一些事情?   java在整个Tomcat运行时保存变量   java如何在Thymeleaf模板中获取环境变量的值?   java Selenium Chrome驱动程序针对属性的标签   java正则表达式捕获未知数量的重复组