1
我想在我的网站上添加一个表单供公司自行列出。这是我想用Django构建的一种本地商业目录。但是,当我尝试在我的“添加业务”页面上显示该表单时,我得到2个不同的结果。django表单不显示或对象不需要参数错误
第一个结果是:如果我使用{{ form.as_p }}
它不显示窗体。
第二个结果是:如果我试图用我自己的HTML投入建设的形式,它说object() takes no parameters
,我的观点(form = AddBusinessForm(request.POST)
),你可以看到下面内的request.post
指向。
我不知道什么是错的。我的观点与Django文档相同。
我的模型:
class Firma(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
firm_name = models.CharField(max_length=120)
firm_adress = models.CharField(max_length=200)
firm_city = models.CharField(max_length=100)
firm_desc = models.TextField(max_length=2000)
firm_email = models.EmailField(max_length=80, unique=True,validators=[validate_email, ])
firm_phone = models.CharField(max_length=20)
firm_website = models.CharField(max_length=60, validators=[URLValidator()])
firm_add_date = models.DateTimeField(auto_now_add=True)
firm_last_edited = models.DateTimeField(auto_now=True)
status_firm = models.CharField(max_length=40, default='Active')
status_site = models.CharField(max_length=40, default='Pending')
slug = models.SlugField(max_length=140, unique=True)
我的表格:
class AddBusinessForm():
firma_name = forms.CharField(max_length=80, required=True, help_text='Required.')
firm_adress = forms.CharField(max_length=150, required=True, help_text='Required.')
firm_city = forms.CharField(max_length=50, required=True, help_text='Required.')
firm_desc = forms.CharField(widget=forms.Textarea, required=True, help_text='Required. About Your Company')
firm_email = forms.EmailField(max_length=80, required=True, help_text='Required. Please write a valid email')
firm_phone = forms.CharField(max_length=150, required=True, help_text='Required.')
firm_website = forms.CharField(max_length=80, required=True, help_text='Required.')
class Meta:
model = Firma
fields = ('firm_name', 'firm_adres','firm_city',
'firm_desc','firm_email','firm_telefon','firm_website')
我的网址:
url(r'add-business/$',views.add_business, name='add_business'),
笔者认为:
def add_business(request):
if request.method == 'POST':
form = AddBusinessForm(request.POST)
if form.is_valid():
form.save()
return redirect('memberships/dashboard')
else:
form = AddBusinessForm()
return render(request, 'directory/add-business.html', {'form': form})
正如我曾经看过/阅读是为UserCreationForm或UserChangeForm我错过了部分的所有教程。即使从未想过像这样连接模型和表单。非常感谢。 – demyr