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

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从arraylist元素调用方法   开关案例中的java错误。。。代码不返回任何内容   在TeamCity:Task:app:processDebugResources上使用Gradle进行构建时java失败   Android Studio的java Gradle同步(SDK)问题   小程序中的java Tic Tack Toe游戏:图像不工作   火柴ABC12;10;250.3使用regexjava   java如何在任务栏的系统托盘中隐藏JFrame   java ListProperty<T>与ObjectProperty<ObservableList<T>>   java如何将resultset数据转换为我的对象。以下是数据的格式   JavaJSF2和oracle   java Junit和EasyMock意外失败   使用java从生成的xml文档中删除xml声明   使用high ResultSet时某些表的java ArrayIndexOutOfBoundsException。fetchSize()   java检测点击按钮   while循环不会结束(Java)   java如何通过JUNIT将数据与文件进行比较?   hadoop Hive Java API寄存器JAR