我已经用Django做了一个联系表格,我想把在联系表格中输入的信息发送到电子邮件和数据库。下面给出了将信息发送到email id的代码,这是成功的,但是我在添加代码以将其保存到PostgreSQL数据库时遇到了问题。我是python新手,因此,任何帮助都将不胜感激。谢谢
你知道吗网址.py你知道吗
from django.urls import path
from.import views
urlpatterns = [
path('email/', views.email, name='email'),
path('success/', views.success, name='success')]
你知道吗型号.py你知道吗
from django.db import models
class Contact(models.Model):
what_about = models.CharField(required=True)
contact_email = models.EmailField(required=True, max_length=250)
content = models.CharField(
required=True,
widget=models.TextField)
Name = models.CharField(required=True)
Phone_Number = models.CharField(required=True)
你知道吗表单.py你知道吗
from django import forms
from .models import Contact
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
Fields = ('what_about', 'contact_email', 'content', 'Name', 'Phone_Number')
你知道吗视图.py你知道吗
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, redirect
from .forms import ContactForm
def email(request):
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
form.save()
cd = form.cleaned_data
subject = form.cleaned_data['what_about']
from_email = form.cleaned_data['contact_email']
message = 'contact_email: "{}"\n Phone_Number: "{}"\n Name: "{}"\n content: "{}"'.format(cd['contact_email'],
cd['Phone_Number'],
cd['Name'],
cd['content'])
try:
send_mail(subject, message, from_email, yourmail@gmail.com, fail_silently='False')
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('success')
return render(request, "email.html", {'form': form})
def success(request):
return HttpResponse('Success! Thank you for your message.')
目前没有回答
相关问题 更多 >
编程相关推荐