Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型在本地工作,但在部署后不工作_Python_Django_Forms - Fatal编程技术网

Python Django模型在本地工作,但在部署后不工作

Python Django模型在本地工作,但在部署后不工作,python,django,forms,Python,Django,Forms,我正在制作一个简单的个人网站。我制作了一个框来输入用户数据(姓名、电子邮件和消息)。我希望这些数据被发送到我的django管理员。我对它进行了测试,它在本地运行。但是,当我部署它时,每当我从框中提交时,我都没有得到任何数据。注意:出于某种原因,我不使用django表单。我想使用我自己的自定义表单 这是我的视图。py from django.shortcuts import render from django.http import HttpResponse from .models impor

我正在制作一个简单的个人网站。我制作了一个框来输入用户数据(姓名、电子邮件和消息)。我希望这些数据被发送到我的django管理员。我对它进行了测试,它在本地运行。但是,当我部署它时,每当我从框中提交时,我都没有得到任何数据。注意:出于某种原因,我不使用django表单。我想使用我自己的自定义表单

这是我的视图。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
这是我的型号。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。但还是不行