我想知道如何配置 django admin 以查看表单,因此 auth_user 应该向订阅用户发送电子邮件。
我做了什么:
模型.py
from django.db import models
from datetime import datetime
class Mail(models.Model):
email=models.EmailField(max_length=255,unique=True,help_text="Το email του χρήστη",verbose_name="Email")
timestamp=models.DateTimeField(default=datetime.now,help_text="Η ημερομηνία που ο χρήστης γράφτηκε στην newsletter list",verbose_name="Ημερομηνία εγγραφής")
delete_link=models.SlugField(unique=True,max_length=255,null=True,blank=True)
def __unicode__(self):
return self.email
class Meta:
verbose_name = "Email User"
verbose_name_plural = "Email Users"
表格.py
from django import forms
class MailForm(forms.Form):
subject = forms.CharField(max_length=255)
message = forms.CharField(widget=forms.Textarea)
attachment = forms.FileField()
我正在尝试在管理页面中添加一个指向时事通讯应用程序的链接。示例:
现在不知何故,我必须为表单编写验证规则(主题和消息不能为空)。对于验证,我正在尝试执行以下操作:
def clean_subject(self):
if self.cleaned_data["subject"]=="" or self.cleaned_data["subject"]==None:
raise forms.ValidationError("My text goes here")
return self.cleaned_data["subject"]
def clean_message(self):
if self.cleaned_data["message"]=="" or self.cleaned_data["message"]==None:
raise forms.ValidationError("My text goes here")
return self.cleaned_data["message"]
当表单无效时,django 会显示一条类似标准方式的消息。示例:
最后,我必须编写 1 个视图来显示表单(我正在尝试为 django admin 使用标准的东西,以及 1 个视图,其中显示“成功发送 130 封邮件”。
任何建议我如何配置 django admin 来执行我所描述的操作都会很有用!