Python 为什么赢了';用户输入是否进入数据库?

Python 为什么赢了';用户输入是否进入数据库?,python,django,database,sqlite,debugging,Python,Django,Database,Sqlite,Debugging,到目前为止,我的数据库工作正常。我可以通过终端手动创建虚拟电子邮件地址,它们将毫无问题地出现 这一次,我想将用户输入转到数据库中。我觉得我已经很熟悉我现在的代码了。但是我一直在Chrome中看到这个错误: 下面是错误: TypeError at /content/content/ 'name' is an invalid keyword argument for this function Request Method: POST Request URL: http://127.0.0.

到目前为止,我的数据库工作正常。我可以通过
终端
手动创建虚拟电子邮件地址,它们将毫无问题地出现

这一次,我想将用户输入转到数据库中。我觉得我已经很熟悉我现在的代码了。但是我一直在
Chrome
中看到这个
错误:

下面是
错误

 TypeError at /content/content/
'name' is an invalid keyword argument for this function
Request Method: POST
Request URL:    http://127.0.0.1:8000/content/content/
Django Version: 1.11.3
Exception Type: TypeError
Exception Value:    
'name' is an invalid keyword argument for this function
下面是
basic.html

{% extends "personal/header.html" %}

{% block content %}
<style type="text/css">
    h1 {
        color: #2e6da4;
        font-family: Chalkboard;
    }

    .text {
        text-align: center;
    }
</style>

    {% for c in content %}
        <h1>{{c}}</h1>
    {% endfor %}

    <div class="form-group">
        <form method="POST" action="content/">
            {% csrf_token %}
            <input type="text" name="textfield">

            <button type="submit">Submit</button>
        </form>
        </div>
{% endblock %}
下面是
url.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Email
from django.core.exceptions import *

def index(request):
    return render(request, 'personal/home.html')

def contact(request):
    if request.method == "GET":
        return render(request, 'personal/basic.html', {'content': ['If you would like more information, leave your email.']})

    elif request.method == "POST":
        email = Email(name=request.POST.get("textfield"))
        email.save()
        return render(request, 'basic.html')

def search(request):
    if request.method == 'POST':
        search_id = request.POST.get(name = search_id)
        try:
            user = Email.objects.get(name=search_id)
            # do something with user
            html = ("<H1>%s</H1>", user)
            return HttpResponse(html)
        except Email.DoesNotExist:
            return HttpResponse("no such user")
        else:
            return render(request, 'basic.html')
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^content/', views.contact, name='content'),
]
from django.db import models

class Email(models.Model):
    email = models.CharField(max_length=140)

    def __str__(self):
        return self.email
下面是
models.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Email
from django.core.exceptions import *

def index(request):
    return render(request, 'personal/home.html')

def contact(request):
    if request.method == "GET":
        return render(request, 'personal/basic.html', {'content': ['If you would like more information, leave your email.']})

    elif request.method == "POST":
        email = Email(name=request.POST.get("textfield"))
        email.save()
        return render(request, 'basic.html')

def search(request):
    if request.method == 'POST':
        search_id = request.POST.get(name = search_id)
        try:
            user = Email.objects.get(name=search_id)
            # do something with user
            html = ("<H1>%s</H1>", user)
            return HttpResponse(html)
        except Email.DoesNotExist:
            return HttpResponse("no such user")
        else:
            return render(request, 'basic.html')
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^content/', views.contact, name='content'),
]
from django.db import models

class Email(models.Model):
    email = models.CharField(max_length=140)

    def __str__(self):
        return self.email

您需要更换,因为在您的型号中没有字段
名称
,但有字段
电子邮件

email = Email(name=request.POST.get("textfield"))


你希望这能做什么
request.POST.get(name=search\u id)
正如错误所说,
name
不是该类的有效关键字。模型实际上是否有名称字段?您应该出示模型。请出示您的
班级电子邮件
@BearBrown model posted.@DanielRoseman model posted感谢您的回复。我试过了,但是现在我得到一个错误,说
templatedoesnotextist at/content/content/
。我想你需要将
return render(request,'basic.html')
替换为
return render(request,'personal/basic.html')
非常感谢!成功了!现在我明白我犯的错误了。再次感谢你,伙计@请别忘了投票支持贝尔斯登的作品,因为答案对你很有用。@hop38我的错误是没有注意到你对StackOverflow很陌生。欢迎来到这里并享受:D