好吧,所以我有一个表格设置如下:
class LeadForm(forms.ModelForm):
class Meta:
model = Lead
fields = ['email']
在我的观看中,我希望在验证之前获取用户放入字段的文本。
def index(request):
if request.method == 'POST':
lead_form = LeadForm(request.POST)
// This is the problem part
email = str(lead_form.fields['email'])
print email
if Lead.objects.get(email=email).exists():
return HttpResponse('Already signed up')
if lead_form.is_valid():
// Do something
else:
lead_form = LeadForm()
return render(request, 'myapp/index.html', {
'lead_form' : lead_form,
})
正如您所看到的,我正在尝试从电子邮件字段中获取文本,在验证之前,我想检查一下。当我打印电子邮件时,我在终端中收到了这封信:
<django.forms.fields.EmailField object at 0x109c35d90>
然而,我想要的是文本,因为我正在尝试查看是否存在该电子邮件的潜在客户。我怎样才能做到这一点?任何帮助将不胜感激!
答案 0 :(得分:0)
这是验证。它应该以表格形式完成;您可以在LeadForm上定义clean_email
方法来执行此操作。
要回答您的实际问题,您可以根据需要直接访问request.POST['email']
。但是不要这样做;在表格中做。
答案 1 :(得分:0)
试试这个,
email=request.POST.get('email')
print email