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