python - 使用 Django 将联系表发送到邮件 ID 和 PostgreSQL 数据库
问题描述
我想将联系表发送到电子邮件 ID 并将其保存到 postgresql 数据库。以下代码帮助我将其发送到邮件 ID,但无法将其保存在数据库中。谁能帮我解决这个问题,非常感谢
网址.py
from django.contrib import admin
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
from django.forms import ModelForm
class Comment(models.Model):
what_about = models.CharField(max_length=255)
contact_email = models.EmailField(max_length=255)
content = models.TextField()
Name = models.CharField(max_length=255)
Phone_Number = models.CharField(max_length=255)
def __str__(self): # __unicode__ on Python 2
return self.what_about
表格.py
from django.forms import ModelForm
from django import forms
from .models import Comment
class MyCommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ['what_about', 'content', 'contact_email', 'Name', 'Phone_Number']
视图.py
from django.shortcuts import render, redirect
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django import forms
from django.utils import timezone
from.forms import MyCommentForm
def email(request):
if request.method == 'GET':
form = MyCommentForm()
else:
form = MyCommentForm(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, ['prasanth@interloggg.net'])
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.')
解决方案
您需要在视图中导入模型并制作“Comment.save()”
您正在导入您的表单,但它不是您的数据库,请将其放在您认为最适合的那一刻,将每个答案保存到正确的列。
推荐阅读
- python - Python pandas nunique() 数据类型
- mongodb - mongoDB,我可以在执行 insertOne 时在另一个字段中使用自动生成的 ObjectId 吗?
- excel - Excel:将文本日期时间值转换为可读格式和/或 Excel 日期格式、HL7、16 字符 14 字符和 8 字符文本值到 DT
- php - 如何在 MacOS 上本地运行 PHP
- python - FLASK:从 python dict 在 JINJA 中创建表
- sql - 使用 SQL 从表中的 xml 中提取节点值
- html - 如何让我的网站在移动设备上看起来更好?
- java - 更改 Spring Boot 外部化配置时的向后兼容性
- process - Camunda同步流程实例不会挂起
- c# - 替换二进制文件中的某些内容而不完全加载或重写它