我无法从HTML表单中获取数据并将其保存到Django中的数据库中

时间:2019-02-12 12:45:13

标签: django django-models django-forms

我使用的是HTML模板表单,如果有人通过该表单与我联系,我希望将其保存在DB中。但是我可以将其保存在DB中。我的代码如下。

我的HTML

<form method="POST" action="{% url 'home' %}">
{% csrf_token %}
<input type="text" name="name">                                             
<input type="email" name="email">                                               
<input type="text"   name="subject">
<textarea class="form-control" name="message"></textarea>
<a class="contact-btn" href="" role="button">submit</a>                                             
</form>

我的看法

def home(request):
    if request.method == 'POST':
        name = request.POST.get("name")
        email = request.POST.get("email")
        subject = request.POST.get("subject")
        message = request.POST.get("message")

        contact_details = contact()
        contact_details.name = name
        contact_details.email = email
        contact_details.subject = subject
        contact_details.message = message
        contact_details.save()
        return redirect
    return render(request,'home.html')

URL

path('', contact.views.home, name='home'),

模型

class contact(models.Model):
    name = models.CharField(max_length=255)
    email = models.CharField(max_length=70)
    subject = models.CharField(max_length=70)
    message = models.TextField()

当我在表单字段中输入一些数据并按提交按钮时,没有任何反应。有时,当我按下“提交”按钮时重新加载了主页,但是数据库中没有任何内容。在管理面板中,我仅看到了创建的模型对象(我手动创建了1个),而其他任何内容都没有进入数据库。

1 个答案:

答案 0 :(得分:1)

正如德克所说,您没有提交按钮。您只有一个样式看起来像按钮的链接。但是,仅仅因为它看起来像一个,并不意味着它将充当一个。

<button class="contact-btn" type="submit">submit</button>