Python Django模型在本地工作,但在部署后不工作
我正在制作一个简单的个人网站。我制作了一个框来输入用户数据(姓名、电子邮件和消息)。我希望这些数据被发送到我的django管理员。我对它进行了测试,它在本地运行。但是,当我部署它时,每当我从框中提交时,我都没有得到任何数据。注意:出于某种原因,我不使用django表单。我想使用我自己的自定义表单 这是我的视图。pyPython Django模型在本地工作,但在部署后不工作,python,django,forms,Python,Django,Forms,我正在制作一个简单的个人网站。我制作了一个框来输入用户数据(姓名、电子邮件和消息)。我希望这些数据被发送到我的django管理员。我对它进行了测试,它在本地运行。但是,当我部署它时,每当我从框中提交时,我都没有得到任何数据。注意:出于某种原因,我不使用django表单。我想使用我自己的自定义表单 这是我的视图。py from django.shortcuts import render from django.http import HttpResponse from .models impor
from django.shortcuts import render
from django.http import HttpResponse
from .models import Feedback
from .forms import FeedbackForm
def index(request):
if (request.method == "POST"):
name = request.POST.get("Name")
email = request.POST.get("Email")
message = request.POST.get("Message")
record = Feedback(name=name, email=email, message=message)
record.save()
return render(request, 'main.html')
from django.db import models
class Feedback(models.Model) :
name = models.CharField(max_length=50)
email = models.EmailField()
message = models.CharField(max_length=200)
def __str__(self):
return self.name
这是我的型号。py
from django.shortcuts import render
from django.http import HttpResponse
from .models import Feedback
from .forms import FeedbackForm
def index(request):
if (request.method == "POST"):
name = request.POST.get("Name")
email = request.POST.get("Email")
message = request.POST.get("Message")
record = Feedback(name=name, email=email, message=message)
record.save()
return render(request, 'main.html')
from django.db import models
class Feedback(models.Model) :
name = models.CharField(max_length=50)
email = models.EmailField()
message = models.CharField(max_length=200)
def __str__(self):
return self.name
这是我的html表单
<form action="{% url 'index' %}" method="POST" target="_self">
{% csrf_token %}
<div class="w3-row-padding" style="margin:0 -16px 8px -16px">
<div class="w3-half">
<input class="w3-input w3-border" type="text" placeholder="Name" required name="Name" >
</div>
<div class="w3-half">
<input class="w3-input w3-border" type="email" placeholder="Email" required name="Email">
</div>
</div>
<input class="w3-input w3-border" type="text" placeholder="Message" required name="Message" >
<button class="w3-button w3-black w3-right w3-section" type="submit">
<i class="fa fa-paper-plane"></i> SEND MESSAGE
</button>
</form>
{%csrf_令牌%}
发送消息
我不确定您在哪个平台上部署了项目,但我要尝试的第一件事是确保您已经运行了数据库迁移。(我假设如果您可以访问管理区域,您已经完成了这项工作,但为了确保安全,可能需要再次运行。)
我对您的HTML表单做了一些修改,以便更密切地遵循Django文档。值得注意的是,在每个输入中添加了enctype=“multipart/form data”
和一个id标记:即id=“name”
。以下是文档的链接:
{%csrf_令牌%}
发送消息
复制/粘贴代码可能会有问题,但我注意到模型上的字段缩进过度。确保在每个字段之前使用单个选项卡
#models.py
课堂反馈(models.Model):
name=models.CharField(最大长度=50)
email=models.EmailField()
message=models.CharField(最大长度=200)
定义(自我):
返回self.name
如果您能够看到终端,您的POST请求是否得到200响应?它应该是这样的:
"POST / HTTP/1.1" 200
我要检查的另一件事是确保在settings.py中正确配置了数据库(假设您使用的是sqlite数据库)
#settings.py
数据库={
“默认值”:{
“引擎”:“django.db.backends.sqlite3”,
'NAME':BASE_DIR/'db.sqlite3',
}
}
如果在admin区域中没有看到任何内容,请确保已在admin.py中注册模型
来自django.contrib导入管理
模型导入反馈
管理站点注册(反馈)
需要更多详细信息。请填好表格和表格。没有错误吗?如果设置DEBUG=True,它会抛出错误吗?项目部署在哪个平台上?因为我没有使用django表单,所以我没有使用forms.py。我只是在使用我的html表单@Babakgholamirad,没有出现任何错误。该应用程序可在本地和部署@NightWolfGroups中运行感谢您提供的一些反馈。但问题尚未解决。部署应用程序后,我仍然无法从表单中获取数据。我还尝试将我的数据库从sqlite3更改为postgres。但还是不行