2012-02-10 165 views
0

我想要使用django表單,並且我有興趣用「空白標籤」來銷售表單。django表單空白標籤

喜歡的東西:

class SearchForm(forms.Form): 
    q = forms.CharField(required=True,widget=forms.TextInput(attrs {'id':'field','name':'field'}),label="Search") 

,然後我渲染使用

{{form.as_p}} 

不過,我有這個惱人的「搜索:」在我的HTML表單上顯示我的HTML,我不想。我試過用:

q = forms.CharField(required=True,widget=forms.TextInput(attrs {'id':'field','name':'field'})) 

但是這輸出「Q:」,我猜是默認的標籤。我如何告訴django我不需要提供標籤?

非常感謝。

+0

好的我找到了答案。最好在html 字段中直接傳遞名稱「q」作爲名稱。 – JohnJ 2012-02-10 03:45:40

+1

您也可以按字段渲染表單,忽略標籤標籤。 – szaman 2012-02-10 06:23:43

+0

你是什麼意思szaman?例如,我使用了:。更好的是使用django特定的代碼:類似{{form.q}}而不是name =「q」,我想知道這是否可能。我試過{{form.q}},{{form.data.q}}等,但沒有一個可以工作。 – JohnJ 2012-02-10 11:25:26

回答

1

看看這個例子,應該明確如何使用它:https://docs.djangoproject.com/en/dev/topics/forms/#customizing-the-form-template

確定{{form.q}}不起作用?

+0

Szaman ..是啊,我看過文檔。出於某種原因{{form.q}}不起作用。值得一提的是,這種形式實際上是在乾草堆裏。所以,當我稱之爲「q」似乎工作,但{{form.q}}不起作用。奇怪。 – JohnJ 2012-02-11 15:32:13

+0

Szaman,實際上{{form.q}}現在可以工作。我不得不重新加載所有模塊。但是,例如,我不喜歡{{form.q}}輸入框的樣式,並有我自己的輸入框,如下所示: 。在這裏,我使用名稱= q,並且一切按預期工作。如果我使用name =「{{forms.q}}」,它就會起作用。在這種情況下使用name = q是否正常?謝謝。 – JohnJ 2012-02-11 17:07:53

+0

你和這個由django使用form.q呈現的手動輸入標籤有什麼區別?您可以根據需要調整每個表單域,而不必手動輸入輸入標記。 – szaman 2012-02-12 07:06:07

0

你可能只是做:

class SearchForm(forms.Form): 
    q = forms.CharField(required=True,widget=forms.TextInput(attrs {'id':'field','name':'field'}),label="") 

這將剛剛設置的標籤爲空字符串。