contactus()获得了意外的关键字参数'name'

问题描述 投票:0回答:2

我创建了一个联系表单,字段为name, email, and dropdown。提交表单时出现错误,但是如果我打印(名称),它将显示在终端上。

contactus()获得了意外的关键字参数'name'

您能帮我这个忙吗?

contatus.html

<form action="/contactus/" method="post">
  {% csrf_token %}
  <div class="input-block">
    <input id="name" name="name" type="text" placeholder="your full name" class="form-control">
  </div>

  <div class="input-block">
    <select name="year" id="year" class="form-control">
      <option selected disabled>no of Year</option>
      <option value="1">1 Year</option>
      <option value="2">2 Year</option>
    </select>
  </div>

  <div id="reachEmail" class="input-block">
    <input id="email" name="email" type="email" class="form-control" placeholder="email">
  </div>

  <input type="submit" name="Send" value="SEND">
</form>

view.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
from .models import contactus

def home(request):
return render(request, 'demo1/home.html', {'': ''})


def contactus_submit(request):
if request.method == "POST":
name=request.POST.get('name','')
year=request.POST.get('year','')
email=request.POST.get('email','')
contact=contactus(name=name,year=year,email=email)
contact.save();


return render(request, 'demo1/contactus.html')

Model.py

class contactus(models.Model):
    id=models.AutoField(primary_key=True)
    name = models.CharField(max_length=30)
    year = models.CharField(max_length=30)
    email = models.CharField(max_length=30)

admin.py

from .models import contactus
admin.site.register(contactus)
python django django-models django-forms
2个回答
2
投票

遵循django之后的命名约定。

型号

class Contact(models.Model):
    id=models.AutoField(primary_key=True)
    name = models.CharField(max_length=30)
    year = models.CharField(max_length=30)
    email = models.CharField(max_length=30)

观看次数

def contact_us(request):
    if request.method=="POST":
        name=request.POST.get('name','')
        year=request.POST.get('year','')
        email=request.POST.get('email','')
        contact=Contact(name=name,year=year,email=email)
        contact.save()
    return render(request,'demo1/contactus.html')

1
投票
contact=contactus(name=name,year=year,email=email)

此声明试图调用您的视图。

将视图名称更改为contact_view

© www.soinside.com 2019 - 2024. All rights reserved.