2013-02-19 68 views
1

我使用的是django-crispy-forms並想知道如何禁用特定字段的自動填充功能。該字段是prepaltext的forms.IntegerField禁用django-crispy-forms中的自動完成PrendedText字段

p_number = forms.IntegerField() 

helper = FormHelper() 
helper.form_class = 'form-horizontal' 

helper.layout = Layout(
    Row(
     PrependedText('p_number', 'P',css_class='input-xlarge'), 
     Submit('submit','Submit', css_class='btn-primary'), 
    ) 
) 
+0

你應該,如果你告訴我們正在使用bootstrap或制服。如果你使用bootstrap,你嘗試過:'p_number = forms.IntegerField(widget = forms.TextInput(attrs = {'autocomplete':'off'}))'? – danihp 2013-02-20 08:58:14

+0

我正在使用bootstrap。如果我使用Widget作爲TextInput,它仍然只接受數字? – Bot 2013-02-20 16:00:07

+0

[Integer字段默認值部件爲textImput](https://docs.djangoproject.com/en/dev/ref/forms/fields/#integerfield)。另外,你有沒有嘗試過我的方法? – danihp 2013-02-20 16:27:19

回答

2

Bootstrap有autocomplete輸入屬性允許禁用自動完成。你可以通過Django的脆皮形式以這種方式設置爲關閉這個屬性:

p_number = forms.IntegerField(
       widget=forms.TextInput(
            attrs={'autocomplete':'off',} 
            ) 
          ) 
8

這樣做,這將是容易的脆皮形式方式:

PrependedText('p_number', 'P', css_class='input-xlarge', autocomplete="off"), 
+0

+1:如果項目業主說出來,這應該是正確的答案;) – danihp 2013-04-30 13:34:18

+0

這是記錄的解決方案,應該被接受爲正確的答案。請參閱https://django-crispy-forms.readthedocs.org/en/latest/layouts.html#layout-objects-attributes – Howie 2013-11-25 06:43:33