2016-04-22 14 views
0

私のすっきりしたフォームでは、入力フィールドの1つにsize = "3"を挿入して、その最大長と一致させたいと思います。私はCharFieldとしてbpmを定義するときにmaxlengthが挿入されるのと同じ方法でサイズを挿入しようとしましたが、うまくいきませんでした。django-crispy-forms 1つの入力フィールドにサイズオプションを挿入する方法は?

現在レンダリングされたとき、それは

<input class="textinput textInput form-control" id="id_bpm" maxlength="3" name="bpm" type="text" /> 

を示ししかし、私は自分のフォームテンプレートで

<input class="textinput textInput form-control" id="id_bpm" maxlength="3" size="3" name="bpm" type="text" /> 

を表示するように変更したいと思い、私は{%のクリスピーフォーム%}呼び出し

で私のforms.py:

from django import forms 
from .models import Profile, Artist 
from crispy_forms.helper import FormHelper 
from crispy_forms.layout import Submit, Layout, Div 
from crispy_forms.bootstrap import StrictButton, FormActions 

class ProfileForm(forms.ModelForm): 

    class Meta: 
     model = Profile 
     fields = [ 
      "artist", 
      "title", 
      "mix", 
      "bpm", 
      "genre", 
      ] 

    artist = forms.CharField(widget=forms.TextInput)   
    bpm = forms.CharField(widget=forms.TextInput, max_length=3) 

    def __init__(self, *args, **kwargs): 
     super(ProfileForm, self).__init__(*args, **kwargs) 
     self.helper = FormHelper() 
     self.helper.form_class = 'form-horizontal' 
     self.helper.label_class = 'col-lg-2' 
     self.helper.field_class = 'col-lg-10' 
     self.helper.layout = Layout(
      'artist', 
      'title', 
      'mix', 
      'bpm', 
      'genre', 
      FormActions(Div(Submit('submit','Submit', css_class='btn-primary'), style="float: right")), 
     ) 

    def clean_artist(self): 
     artist = self.cleaned_data.get("artist") 
     if not artist: 
      raise forms.ValidationError("Artist is a required field.") 
     else: 
      artist, created = Artist.objects.get_or_create(name=artist) 
      return artist 

答えて

0

Fieldレイアウトオブジェクトを使用して、レイアウトオブジェクトにattributesを指定します。

関連する問題