【发布时间】:2021-07-09 03:26:08
【问题描述】:
我正在尝试创建一个简单的电子邮件和姓名收集器,一切看起来都很好,但我只能在管理站点中看到姓名选项,电子邮件选项不存在
这是我的代码
Forms.py
from django import forms
from sonus import models
from django import forms
class NameForm(forms.Form):
your_name = forms.CharField(label="Your Name",max_length=20)
your_email = forms.EmailField(label="Email",max_length=100)
这是我的 Views.py
def get_name(request):
person = Person()
if request.method=="POST":
form = NameForm(request.POST)
if form.is_valid():
person.name = form.cleaned_data['your_name']
person.email = form.cleaned_data['your_email']
person.save()
return HttpResponseRedirect(reverse('index'))
else:
form = NameForm()
return render(request,'form.html',{ 'form': form })
我的管理员.py
from django.contrib import admin
from django.contrib.admin.decorators import display
from django.contrib.auth.admin import UserAdmin
from .models import Details, Person,list
from sonus import models
# Register your models here.
admin.site.register(Person)
这是模型
class Person(models.Model):
name = TextField(max_length=20)
email = EmailField(max_length=100)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('person',kwargs={'pk': self.pk})
【问题讨论】:
-
不要在视图的第一行创建人。仅当表单有效时才创建它。您还应该使用模型表单。见ModelForm
标签: django django-models django-forms django-admin