提供するシリアライザーフィールドクラス¶
Zen Of Pythonの 暗示するより明示するほうがいい という観点からdefinable-serializerでは TemplateHTMLRenderer のためにいくつかのフィールドを提供しています。
警告
これらのフィールドは将来的に別パッケージとして提供される可能性があります。
CheckRequiredField¶
-
class
CheckRequiredField
(*args, **kwargs)¶
必ずOnをしなければならないチェックボックスを提供します。ユーザーの意思確認などを行いたい場合に利用します。
このクラスは restframeworkの BooleanField
を継承してつくられています。
オプションについては BooleanField を参照してください。
シリアライザー定義のfieldには definable_serializer.extra_fields.CheckRequiredField
を指定します。
main:
name: Agreement
fields:
- name: agreement
field: definable_serializer.extra_fields.CheckRequiredField
MultipleCheckboxField¶
-
class
MultipleCheckboxField
(choices, *args, required=False, inline=False, **kwargs)¶
複数のチェックボックスによる選択肢を表示するフィールドを提供します。
fieldには definable_serializer.extra_fields.MultipleCheckboxField
を指定します。
required
をtrue
にすると必須選択になります。inline
をtrue
にするとチェックボックスが横並びに表示されます。
このクラスはrestframeworkの MultipleChoiceField
を継承してつくられています。その他のオプションについては
MultipleChoiceField を参照してください。
main:
name: YourFavoriteAnimal
fields:
- name: animal_choice_field
field: definable_serializer.extra_fields.MultipleCheckboxField
field_args:
- - - dog
- 🐶Dog
- - cat
- 😺Cat
- - rabbit
- 🐰Rabbit
field_kwargs:
inline: true
required: true
label: Lovely Animals
help_text: Please choice your favorite animal
ChoiceRequiredField¶
-
class
ChoiceRequiredField
(choices, *args, **kwargs)¶
0.1.12 で登場しました。
選択必須のリストを提供します。
基本的な動作は ChoiceField
と変わりませんがユーザーに選択を促すブランクチョイスを入れるため、 choices
の1つ目の値が必ずnull値である必要があります。
このクラスは restframeworkの ChoiceField
を継承してつくられています。その他のオプションについては
ChoiceField を参照してください。
main:
name: YourFavoriteAnimal
fields:
- name: animal_choice_field
field: definable_serializer.extra_fields.ChoiceWithBlankField
field_args:
- - - null
- "-------- Please Choice one 😉 --------"
- - dog
- 🐶Dog
- - cat
- 😺Cat
- - rabbit
- 🐰Rabbit
field_kwargs:
label: Lovely Animals
blank_label: '-------- Please Choice 😉 --------'
help_text: Please choice your favorite animal
ChoiceWithBlankField¶
警告
ChoiceWithBlankFieldクラスは廃止予定です。変わりに ChoiceRequiredField を利用してください。
-
class
MultipleCheckboxField
(choices, *args, blank_label=None, **kwargs)
渡されたchoicesの選択にブランクチョイスを自動的に追加します。ブランクチョイスが選択された状態でバリデーションが 行われるとエラーになります。
fieldには definable_serializer.extra_fields.ChoiceWithBlankField
を指定します。
blank_label
に文字列を渡すとダッシュの連続の代わりにその文字列がブランクチョイスの部分に表示されます。
このクラスは restframeworkの ChoiceField
を継承してつくられています。その他のオプションについては
ChoiceField を参照してください。
main:
name: YourFavoriteAnimal
fields:
- name: animal_choice_field
field: definable_serializer.extra_fields.ChoiceWithBlankField
field_args:
- - - dog
- 🐶Dog
- - cat
- 😺Cat
- - rabbit
- 🐰Rabbit
field_kwargs:
label: Lovely Animals
blank_label: '-------- Please Choice 😉 --------'
help_text: Please choice your favorite animal
RadioField¶
-
class
RadioField
(choices, *args, inline=False, **kwargs)¶
ラジオボタンによる選択肢を表示するフィールドを提供します。
fieldには definable_serializer.extra_fields.RadioField
を指定します。
inline
をtrue
にするとチェックボックスが横並びに表示されます。
このクラスは restframeworkの ChoiceField
を継承してつくられています。その他のオプションについては
ChoiceField を参照してください。
main:
name: YourFavoriteAnimal
fields:
- name: animal_choice_field
field: definable_serializer.extra_fields.RadioField
field_args:
- - - dog
- 🐶Dog
- - cat
- 😺Cat
- - rabbit
- 🐰Rabbit
field_kwargs:
inline: true
required: true
TextField¶
警告
TextFieldクラスは廃止予定です。変わりに CharField を利用してstyle引数を渡してください。 詳しくは field-styles を参照してください。
また、placeholder引数は フィールドの国際化 翻訳の対象になりません。
テキストエリアを提供します。
fieldには definable_serializer.extra_fields.TextField
を指定します。
rows
に数値を渡すことででテキストエリアの行数を指定することができます。placeholder
に文字列を渡すとプレースホルダー文字列を表示することができます。
このクラスは restframeworkの CharField
を継承してつくられています。その他のオプションについては
CharField を参照してください。