Réimsí foirmLink to this heading

class FieldLink to this definition

Nuair a chruthaíonn tú rang Foirme, is é an chuid is tábhachtaí ná réimsí na foirme a shainiú. Tá loighic bailíochtaithe saincheaptha ag gach réimse, mar aon le cúpla crúca eile.

Field.clean(value)Link to this definition

Cé go bhfuil an príomhbhealach a úsáidfidh tú ranganna Field i ranganna Foirme, is féidir leat iad a chur i bhfeidhm agus iad a úsáid go díreach chun tuairim níos fearr a fháil ar an gcaoi a n-oibríonn siad. Tá modh clean () ``ag gach cás ``Field`, a thógann argóint amháin agus a ardaíonn eisceacht ``Django.Core.Exceptions.ValidationError nó a thugann an luach glan ar ais:

Python console
>>> from django import forms
>>> f = forms.EmailField()
>>> f.clean("foo@example.com")
'foo@example.com'
>>> f.clean("invalid email address")
Traceback (most recent call last):
...
ValidationError: ['Enter a valid email address.']

Argóintí lárnach réimseLink to this heading

Glacann gach tógálaí ranga Field` ar a laghad na hargóintí seo. Glacann roinnt ranganna ``Réimse argóintí breise, atá sonrach le réimse, ach ba cheart glacadh leis na rudaí seo a leanas i gcónaí*:

`riachtanaiLink to this heading

Field.requiredLink to this definition

De réir réamhshocraithe, glacann gach rang Field go bhfuil an luach ag teastáil, mar sin má chuireann tú luach folamh -- None nó an teaghrán folamh (``````````) -- ansin ardóidh clean () ``eisceacht ``ValidationError:

Python console
>>> from django import forms
>>> f = forms.CharField()
>>> f.clean("foo")
'foo'
>>> f.clean("")
Traceback (most recent call last):
...
ValidationError: ['This field is required.']
>>> f.clean(None)
Traceback (most recent call last):
...
ValidationError: ['This field is required.']
>>> f.clean(0)
'0'
>>> f.clean(True)
'True'
>>> f.clean(False)
'False'

Chun a shonrú go bhfuil réimse *ní gá, cuir required=False chuig an tógálaí Field:

Python console
>>> f = forms.CharField(required=False)
>>> f.clean("foo")
'foo'
>>> f.clean("")
''
>>> f.clean(None)
''
>>> f.clean(0)
'0'
>>> f.clean(True)
'True'
>>> f.clean(False)
'False'

Má tá required=false ``ag `Field agus má chuireann tú luach folamh ar clean (), ansin cuirfidh clean () ``luach folm*normalaithe* ar ais seachas ``ValidationError` a ardú. Maidir le charfield, cuirfidh sé seo ar ais: attr: ~charfield.empty_value atá réamhshocraithe go sreang folamh. Maidir le ranganna eile Field`, d'fhéadfadh a bheith ``None. (Athraíonn sé seo ó réimse go réimse.)

Tá an tréith HTML “riachtanach” ag giuirléidí de réimsí foirme riachtanacha. Socraigh an tréith: attr: Form.USE_REQUIRED_ATTRIBUTE le False` chun é a dhíchumasú. Ní chuirtear an tréith “riachtanach” san áireamh ar fhoirmeacha foirmeacha mar b'fhéidir nach mbeidh bailíochtú an bhrabhsálaí ceart agus foirmeacha á gcur leis agus á scriosadh.

lipéadLink to this heading

Field.labelLink to this definition

Ligeann an argóint lipéad duit an lipéad “atá cairdiúil don duine” don réimse seo a shonrú. Úsáidtear é seo nuair a thaispeántar an Réimse i Foirm`.

As explained in Foirmeacha a chur amach mar HTML, the default label for a Field is generated from the field name by converting all underscores to spaces and upper-casing the first letter. Specify a string for label if that default behavior doesn't result in an adequate label. Use an empty string ("") to hide the label.

Seo sampla iomlán Foirm ``a chuireann `lipéad i bhfeidhm do dhá cheann dá réimsí. Tá auto_id=false` sonraithe againn chun an t-aschur a shimpliú:

Python console
>>> from django import forms
>>> class CommentForm(forms.Form):
...     name = forms.CharField(label="Your name")
...     url = forms.URLField(label="Your website", required=False)
...     comment = forms.CharField()
...
>>> f = CommentForm(auto_id=False)
>>> print(f)
<div>Your name:<input type="text" name="name" required></div>
<div>Your website:<input type="url" name="url"></div>
<div>Comment:<input type="text" name="comment" required></div>

iarmhair_lipéadLink to this heading

Field.label_suffixLink to this definition

Ligeann an argóint label_suffix` duit an fhoirm 's:attr: ~django.forms.form.label_suffix a shárú ar bhonn in aghaidh an réimse:

Python console
>>> class ContactForm(forms.Form):
...     age = forms.IntegerField()
...     nationality = forms.CharField()
...     captcha_answer = forms.IntegerField(label="2 + 2", label_suffix=" =")
...
>>> f = ContactForm(label_suffix="?")
>>> print(f)
<div><label for="id_age">Age?</label><input type="number" name="age" required id="id_age"></div>
<div><label for="id_nationality">Nationality?</label><input type="text" name="nationality" required id="id_nationality"></div>
<div><label for="id_captcha_answer">2 + 2 =</label><input type="number" name="captcha_answer" required id="id_captcha_answer"></div>

tosaitheLink to this heading

Field.initialLink to this definition

Ligeann an argóint tosaithe duit an luach tosaigh le húsáid a shonrú agus an Réimse seo a rindreáil i Foirme neamhcheangailte.

Chun sonraí tosaigh dinimiciúla a shonrú, féach an paraiméadar: attr: Form.initial.

Is é an cás úsáide seo nuair is mian leat foirm “folamh” a thaispeáint ina ndéantar réimse a thionscnamh go luach áirithe. Mar shampla:

Python console
>>> from django import forms
>>> class CommentForm(forms.Form):
...     name = forms.CharField(initial="Your name")
...     url = forms.URLField(initial="https://")
...     comment = forms.CharField()
...
>>> f = CommentForm(auto_id=False)
>>> print(f)
<div>Name:<input type="text" name="name" value="Your name" required></div>
<div>Url:<input type="url" name="url" value="https://" required></div>
<div>Comment:<input type="text" name="comment" required></div>

B'fhéidir go bhfuil tú ag smaoineamh, cén fáth nach rachadh foclóir de na luachanna tosaigh mar shonraí agus an fhoirm á thaispeáint agat? Bhuel, má dhéanann tú é sin, spreagfaidh tú bailíochtú, agus beidh aon earráidí bailíochtaithe san aschur HTML san áireamh:

Python console
>>> class CommentForm(forms.Form):
...     name = forms.CharField()
...     url = forms.URLField()
...     comment = forms.CharField()
...
>>> default_data = {"name": "Your name", "url": "https://"}
>>> f = CommentForm(default_data, auto_id=False)
>>> print(f)
<div>Name:
  <input type="text" name="name" value="Your name" required>
</div>
<div>Url:
  <ul class="errorlist"><li>Enter a valid URL.</li></ul>
  <input type="url" name="url" value="https://" required aria-invalid="true">
</div>
<div>Comment:
  <ul class="errorlist"><li>This field is required.</li></ul>
  <input type="text" name="comment" required aria-invalid="true">
</div>

Sin é an fáth nach dtaispeántar luachanna tosaithe ach le haghaidh foirmeacha neamhcheangailte. Maidir le foirmeacha ceangailte, úsáidfidh an t-aschur HTML na sonraí ceangailte.

Tabhair faoi deara freisin nach n-úsáidtear luachanna tosaithe mar shonraí “fillte” i mbailíochtú mura dtugtar luach réimse áirithe. Is iad luachanna tosaithe amháin atá beartaithe le haghaidh taispeáint foirme tosaigh:

Python console
>>> class CommentForm(forms.Form):
...     name = forms.CharField(initial="Your name")
...     url = forms.URLField(initial="https://")
...     comment = forms.CharField()
...
>>> data = {"name": "", "url": "", "comment": "Foo"}
>>> f = CommentForm(data)
>>> f.is_valid()
False
# The form does *not* fallback to using the initial values.
>>> f.errors
{'url': ['This field is required.'], 'name': ['This field is required.']}

In ionad tairiseach, is féidir leat aon ghlaoch a rith freisin:

Python console
>>> import datetime
>>> class DateForm(forms.Form):
...     day = forms.DateField(initial=datetime.date.today)
...
>>> print(DateForm())
<div><label for="id_day">Day:</label><input type="text" name="day" value="2023-02-11" required id="id_day"></div>

Ní dhéanfar an glaoch a mheas ach amháin nuair a thaispeántar an fhoirm neamhcheangailte, ní nuair a shainmhínítear í.

giuirléidLink to this heading

Field.widgetLink to this definition

Ligeann an argóint widget duit rang Widget a shonrú le húsáid agus an `Réimse ``seo á rindreáil. Féach: doc: `/ref/forms/giuirléidí `le haghaidh tuilleadh faisnéise.

téacs_cabhrachLink to this heading

Field.help_textLink to this definition

Ligeann an argóint help_text duit téacs tuairisciúil a shonrú don Field seo. Má sholáthraíonn tú help_text, taispeánfar é in aice leis an Réimse nuair a dhéanfar an Field le ceann de na modhanna áisiúla Foirm (m.sh., ``as_ul () ``).

Cosúil leis an réimse samhail:: attr: ~django.db.models.field.help_text, níl an luach seo ag éalú HTML i bhfoirmeacha a ghintear go huathoibríoch.

Seo sampla iomlán Form a chuireann help_text i bhfeidhm do dhá cheann dá réimsí. Tá auto_id=false` sonraithe againn chun an t-aschur a shimpliú:

Python console
>>> from django import forms
>>> class HelpTextContactForm(forms.Form):
...     subject = forms.CharField(max_length=100, help_text="100 characters max.")
...     message = forms.CharField()
...     contact_email = forms.EmailField(help_text="Your email (so we can reply).")
...
>>> f = HelpTextContactForm(auto_id=False)
>>> print(f)
<div>Subject:<div class="helptext">100 characters max.</div><input type="text" name="subject" maxlength="100" required></div>
<div>Message:<input type="text" name="message" required></div>
<div>Contact email:<div class="helptext">Your email (so we can reply).</div><input type="email" name="contact_email" maxlength="320" required></div>

Nuair a bhíonn téacs cabhrach ag réimse tá baint aige lena ionchur ag baint úsáide as an tréith HTML aria-describedby. <input>Má chuirtear an giuirléid i `an <fieldset>sin cuirtear ``aria-describedby leis an eilimint seo, ar shlí eile cuirtear é le``` `giuirléid:

Python console
>>> from django import forms
>>> class UserForm(forms.Form):
...     username = forms.CharField(max_length=255, help_text="e.g., user@example.com")
...
>>> f = UserForm()
>>> print(f)
<div>
<label for="id_username">Username:</label>
<div class="helptext" id="id_username_helptext">e.g., user@example.com</div>
<input type="text" name="username" maxlength="255" required aria-describedby="id_username_helptext" id="id_username">
</div>

Agus tréith saincheaptha aria-describedby á chur leis, déan cinnte go gcuirfidh tú id ``den eilimint ``help_text (má úsáidtear é) san ord atá ag teastáil san áireamh freisin. Maidir le húsáideoirí léitheoirí scáileáin, léitear tuairiscí ina n-ord cuma laistigh de aria-describedby`:

Python console
>>> class UserForm(forms.Form):
...     username = forms.CharField(
...         max_length=255,
...         help_text="e.g., user@example.com",
...         widget=forms.TextInput(
...             attrs={"aria-describedby": "custom-description id_username_helptext"},
...         ),
...     )
...
>>> f = UserForm()
>>> print(f["username"])
<input type="text" name="username" aria-describedby="custom-description id_username_helptext" maxlength="255" id="id_username" required>

teachtaireachtaí earráidLink to this heading

Field.error_messagesLink to this definition

Ligeann an argóint error_messages duit na teachtaireachtaí réamhshocraithe a ardóidh an réimse a shárú. Pas isteach i bhfoclóir le heochracha a mheaitseálann leis na teachtaireachtaí earráide is mian leat a shárú. Mar shampla, seo an teachtaireacht earráide réamhshocraithe:

Python console
>>> from django import forms
>>> generic = forms.CharField()
>>> generic.clean("")
Traceback (most recent call last):
  ...
ValidationError: ['This field is required.']

Agus seo teachtaireacht earráide saincheaptha:

Python console
>>> name = forms.CharField(error_messages={"required": "Please enter your name"})
>>> name.clean("")
Traceback (most recent call last):
  ...
ValidationError: ['Please enter your name']

Sa chuid ranganna Réimse ionsuite `_ thíos, sainmhíníonn gach ``Field na heochracha teachtaireachta earráide a úsáideann sé.

``bailíochtóirí ``Link to this heading

Field.validatorsLink to this definition

Ligeann an argóint bailíochtaire duit liosta feidhmeanna bailíochtaithe a sholáthar don réimse seo.

Féach na:doc: doiciméadú bailíochtóir le haghaidh tuilleadh eolais. </ref/validators>

logánaitheLink to this heading

Field.localizeLink to this definition

Cuireann an argóint localize` ar chumas ionchur sonraí foirme a logánú, chomh maith leis an aschur rindreáilte.

Féach an formáid doiciméadú logánaithe le haghaidh tuilleadh eolais.

díchumasaLink to this heading

Field.disabledLink to this definition

Déanann an argóint boolean díchumasa, nuair a shocraíonn sé go True, réimse foirme a dhíchumasú ag baint úsáide as an tréith HTML disabled ionas nach mbeidh úsáideoirí é in eagar. Fiú má chuireann úsáideoir isteach ar luach an réimse a chuirtear chuig an bhfreastalaí, déanfar neamhaird air i bhfabhar an luach ó shonraí tosaigh na foirme.

ainmne_teimpléadLink to this heading

Field.template_nameLink to this definition

Ligeann an argóint template_name teimpléad saincheaptha a úsáid nuair a dhéantar an réimse a léiriú le:meth: ~django.forms.boundfield.as_field_group. De réir réamhshocraithe tá an luach seo socraithe go django/forms/field.html . Is féidir é a athrú in aghaidh an réimse tríd an tréith seo a shárú nó níos ginearálta tríd an teimpléad réamhshocraithe a shárú, féach freis:ref: overriding-built-in-field-templates.

bound_field_classLink to this heading

Field.bound_field_classLink to this definition

The bound_field_class attribute allows a per-field override of Form.bound_field_class.

Seiceáil an bhfuil athrú tagtha ar na sonraí réimseLink to this heading

``aigh_athraigh () ``Link to this heading

Field.has_changed()Link to this definition

Úsáidtear an modh has_changed () ``chun a chinneadh an bhfuil luach an réimse athraithe ón luach tosaigh. Tuairisceáin ``TrueFalse.

See the Form.has_changed documentation for more information.

Ranganna ``Réimse ``tógthaLink to this heading

Ar ndóigh, tagann sraith ranganna Réimse sa leabharlann foirme` a léiríonn riachtanais choiteanna bailíochtaithe. Doiciméadaítear an chuid seo gach réimse ionsuite.

I gcás gach réimse, déanaimid cur síos ar an ngiuirléid réamhshocraithe a úsáidtear mura sonraíonn tú giuirléid`. Sonraímid freisin an luach a chuirtear ar ais nuair a sholáthraíonn luach folamh (féach an chuid ar ``riachtan thuas chun a thuiscint cad a chiallaíonn sé sin).

BooleanfieldLink to this heading

class BooleanField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: CheckboxInput

  • Luach folamh: Fréag

  • Normalaítear go dtí: Luach Python True nó False`.

  • Bailíonn sé gurb é an luach True (m.sh. seiceáiltear an bosca seiceála) má tá required=True sa réimse.

  • Eochracha teachtaireachta earráide: riachtan

CharfieldLink to this heading

class CharField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: Cibé rud a thug tú mar: attr: empty_value.

  • Normalaítear go dtí: Sreang.

  • Úsáid:aicme: ~django.core.validators.maxLengthValidator agus:class: ~django.core.validators.minLengthValidator má chuirtear max_length ``agus ``min_length `min_length` ``ar fáil. Seachas sin, tá gach ionchur bailí.

  • Eochracha teachtaireachta earráide: riachtan, max_length ``, `min_length `

Tá na hargóintí roghnacha seo a leanas ann le haghaidh bailíoch

max_lengthLink to this definition
min_lengthLink to this definition

Má chuirtear ar fáil, cinntíonn na hargóintí seo go bhfuil an sreang ar a mhéad nó ar a laghad an fad tugtha.

stripLink to this definition

Má tá True (réamhshocraithe), déanfar an luach a bhaint as spás bán tosaigh agus rianúil.

empty_valueLink to this definition

An luach le húsáid chun “folamh” a léiriú. Réamhshocraithe chuig teaghrán folamh.

Réimse roghnaíLink to this heading

class ChoiceField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: `Roghnaigh `

  • Luach folamh: ``"``(teaghrán folamh)

  • Normalaítear go dtí: Sreang.

  • Bailíonn sé go bhfuil an luach a thugtar ar liosta na roghanna.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`

D'fhéadfadh go mbeadh % (value) s sa teachtaireacht earráide invalid_choice, agus cuirfear an rogha roghnaithe in ionad.

Tógann sé argóint breise amháin:

choicesLink to this definition

<field-choices-enum-types>Ceachtar:term: iterable de dhá thúpla le húsáid mar roghanna don réimse seo, :ref: cineál áireamh `, nó glaoch a thugann athraitheach den sórt sin. Glacann an argóint seo leis na formáidí céanna leis an argóint ``roghna` le réimse samhail. Féach an:ref: `doiciméadú tagartha réimse samhail maidir le roghanna <field-choices>`le haghaidh tuilleadh sonraí. Má tá an argóint inghlaonta, déantar é a mheas gach uair a thionscnaítear foirm an réimse, i dteannta le linn rindreála. Réamhshocraithe ar liosta folamh.

Dáta réimseLink to this heading

class DateField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: DateInput

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Rud Python datetime.date.

  • Bailíonn sé gur datetime.date`, datetime.datetime` nó teaghrán formáidithe i bhformáid dáta áirithe an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tógann sé argóint roghnach amháin:

input_formatsLink to this definition

Athraitheach formáidí a úsáidtear chun iarracht a dhéanamh teaghrán a thiontú go réad bailí datetime.date.

Mura gcuirtear argóint input_formats ar fáil, tógtar na formáidí ionchuir réamhshocraithe ón bhformáid áitiúil gníomhach DATE_INPUT_FORMATS eochair, nó ó:setting: DATE_INPUT_FORMATS má tá logánú díchumasaithe. Féach freis:doc: `formáid logánaithe' </topics/i18n/formatting>.

DataTimeFieldLink to this heading

class DateTimeField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: DateTimeInput

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Rud Python datetime.datetime.

  • Bailíonn sé gur datetime.datetime`, datetime.date` nó teaghrán formáidithe i bhformáid dáta-ama áirithe an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tógann sé argóint roghnach amháin:

input_formatsLink to this definition

Athraitheach formáidí a úsáidtear chun iarracht a dhéanamh teaghrán a thiontú go réad bailí datetime.datetime`, i dteannta formáidí ISO 8601.

Glacann an réimse i gcónaí le teaghráin i ndátaí formáidithe ISO 8601 nó den chineál céanna aitheanta ar:func: ~django.utils.dateparse.parse_datetime. Is iad roinnt samplaí:

  • `2006-10-25 14:30:59 '

  • '2006-10-25H 14:30:59 '

  • `'2006-10-25 14:30 '

  • `'2006-10-25T 14:30 '

  • ``'2006-10-25H 14:30 AR ``

  • '2006-10-25H 14:30 + 02:00 '

  • `'2006-10-25'

Mura gcuirtear argóint input_formats ar fáil, tógtar na formáidí ionchuir réamhshocraithe ón bhformáid áitiúil gníomhach DATETIME_INPUT_FORMATS agus DATE_INPUT_FORMATS eochracha, nó ó:setting: DATE_INPUT_FORMATS má dhíchumasaítear logánú. Féach freis:doc: `formáid logánaithe' </topics/i18n/formatting>.

DecimalfieldLink to this heading

class DecimalField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: NumberInput nuai:attr: Field.Localize is False, eile: class: TextInput.

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: A Python deachimal.

  • Bailíonn sé gur deachúil é an luach a thugtar. Úsáid:aicme: ~django.core.validators.maxvalueValidator agus:class: ~django.core.validators.minvalueValidator má chuirtear max_value agus min_value ar fáil. Úsáid:aicme: ~django.core.validators.stepvalueValidator má chuirtear step_size ar fáil. Déantar neamhaird de spás bán ceannródaíoch agus leantach.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí`, luach_maxe`, luach_mine`, uas_digits`, max_decimal_places`, max_whole_digits`, step_size`.

D'fhéadfadh go mbeadh % (limit_value) s sna teachtaireachtaí earráide max_value agus min_value, a chuirfear an teorainn iomchuí in ionad. Ar an gcaoi chéanna, d'fhéadfadh go mbeadh % (max) s` sna teachtaireachtaí earráide max_digits, max_decimal_places` agus max_whole_digits.

Tógann sé cúig argóint roghnach:

max_valueLink to this definition
min_valueLink to this definition

Rialaíonn siad seo an raon luachanna a cheadaítear sa réimse, agus ba cheart iad a thabhairt mar luachanna ``Decimal.Decimal`.

max_digitsLink to this definition

An líon uasta na ndigití (iad siúd roimh an bpointe deachúil móide iad siúd tar éis an phointe deachúil, le nialais tosaigh a scriosadh) a cheadaítear sa luach.

decimal_placesLink to this definition

An líon uasta na n-áiteanna deachúil a cheadaítear.

step_sizeLink to this definition

Cuir ionchuir bailí a theorannú go iolrach dhílis de step_size. Má chuirtear min_value ar fáil freisin, cuirtear é leis mar fhritháireamh chun a fháil amach an bhfuil méid an chéim ag teacht leis.

Réimse tréimhseachLink to this heading

class DurationField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: ``Níl ``

  • Déanann sé normalú go: A Python: Class: ~python: datetime.timedelta.

  • Bailíonn sé gur sreang é an luach a thugtar ar féidir é a thiontú ina ``timedel`. Ní mór an luach a bheith idir: attr: datetime.timedelta.min agus:attr: datetime.timedelta.max.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `, overflow`.

Glacann sé le haon fhormáid a thuige:func: ~django.utils.dateparse.parse_duration.

Réimse ríomhphostLink to this heading

class EmailField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: emailInput

  • Luach folamh: Cibé rud a thug tú mar empty_value`.

  • Normalaítear go dtí: Sreang.

  • Úsáid:Class: ~django.core.validators.emailValidator chun a bhailíochtú gur seoladh ríomhphoist bailí é an luach a thugtar, ag baint úsáide as léiriú rialta measartha casta.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tá na hargóintí roghnacha max_length ``, `min_length, agus empty_value a oibríonn díreach mar a dhéanann siad le haghaidh: class: charfield. Tá an argóint ``max_length ``réamhshocraithe go 320 (féach: rfc: 3696 #section -3).

FileFieldLink to this heading

class FileField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: ClearableFileInput

  • Luach folamh: ``Níl ``

  • Normalaíonn sé go: Rud UploadedFile` a fhilleann ábhar an chomhaid agus ainm an chomhaid i réad amháin.

  • Is féidir a bhailíochtú go bhfuil sonraí comhad neamh-folamh ceangailte leis an bhfoirm.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí`, easna, folamh `, max_length`

Tá na hargóintí roghnacha ann maidir le bailíochtú: max_length ``agus ``allow_empty_file. Má chuirtear ar fáil, cinntíonn siad seo go bhfuil ainm an chomhaid ar a mhéad an fad tugtha, agus go n-éireoidh leis an mbailíochtú fiú má tá ábhar an chomhaid folamh.

Chun tuilleadh eolais a fhoghlaim faoin réad uploadedfile, féach na:doc: doiciméadú uaslódála comhad. </topics/http/file-uploads>

<binding-uploaded-files>Nuair a úsáideann tú FileField i bhfoirm, ní mór duit cuimhneamh freisin to:ref: `sonraí an chomhaid a cheangal leis an bhfoirm `.

Tagraíonn an earráid max_length ``d'fhad an ainm comhaid. Sa teachtaireacht earráide don eochair sin, cuirfear an fad uasta ainm comhaid in ionad `% (max) d agus cuirfear an fad ainm comhaid reatha in ionad % (length) d`.

FilePathfieldLink to this heading

class FilePathField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: `Roghnaigh `

  • Luach folamh: ``"``(teaghrán folamh)

  • Normalaítear go dtí: Sreang.

  • Bailíonn sé go bhfuil an rogha roghnaithe ar liosta na roghanna.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`

Ligeann an réimse roghnú ó chomhaid taobh istigh de eolaire áirithe Tógann sé cúig argóint breise; ní theastaíonn ach path:

pathLink to this definition

An cosán iomlán chuig an eolaire a bhfuil a n-ábhar is mian leat liostaithe. Caithfidh an t-eolaire seo a bheith ann.

recursiveLink to this definition

Má tá False (an réamhshocraithe) ní thairgfear ach ábhar díreach path mar roghanna. Má tá “Fíor”, cuirfear an t-eolaire isteach go athshlánach agus liostófar gach sliocht mar roghanna.

matchLink to this definition

Patrún abairt rialta; ní cheadófar ach comhaid le hainmneacha a mheaitseálann leis an abairt seo mar roghanna.

allow_filesLink to this definition

Optional. Either True or False. Default is True. Specifies whether files in the specified location should be included. Either this or allow_folders must be True.

allow_foldersLink to this definition

Optional. Either True or False. Default is False. Specifies whether folders in the specified location should be included. Either this or allow_files must be True.

``Floatfield ``Link to this heading

class FloatField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: NumberInput nuai:attr: Field.Localize is False, eile: class: TextInput.

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Snámhphointe Python.

  • Bailíonn sé gur snámhphointe an luach a thugtar. Úsáid:aicme: ~django.core.validators.maxvalueValidator agus:class: ~django.core.validators.minvalueValidator má chuirtear max_value agus min_value ar fáil. Úsáid:aicme: ~django.core.validators.stepvalueValidator má chuirtear step_size ar fáil. Ceadaítear spás bán tosaigh agus rianaithe, mar atá i bhfeidhm ``float () ``Python.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí, luach_maxe`, luach_min`, step_size`.

Tógann sé trí argóint roghnacha:

max_valueLink to this definition
min_valueLink to this definition

Rialaíonn siad seo an raon luachanna a cheadaítear sa réimse.

step_sizeLink to this definition

Cuir ionchuir bailí a theorannú go iolrach dhílis de step_size. Má chuirtear min_value ar fáil freisin, cuirtear é leis mar fhritháireamh chun a fháil amach an bhfuil méid an chéim ag teacht leis.

GenericipAddressFieldLink to this heading

class GenericIPAddressField(**kwargs)Link to this definition

Réimse ina bhfuil IPv4 nó seoladh IPv6.

  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: ``"``(teaghrán folamh)

  • Normalaítear go dtí: Sreang. Déantar seoltaí IPv6 a normalú mar a thuairiscítear thíos.

  • Bailíonn sé gur seoladh IP bailí é an luach a thugtar.

  • Error message keys: required, invalid, max_length

Leanann normalú an seoladh IPv6: rfc: 4291 #section -2.2 alt 2.2, lena n-áirítear úsáid a bhaint as an bhformáid IPv4 a mholtar i mír 3 den chuid sin, cosúil le : :ffff:192.0.2.0. Mar shampla, bheadh 2001:0:: 0:01 normalaithe go 2001: :1, agus : :ffff:0a0a0a go``: :ffff:10.10.10``. Déantar gach carachtar a thiontú go litreacha beaga.

Tógann sé trí argóint roghnacha:

protocolLink to this definition

Teoraíonn sé ionchuir bailí don phrótacal sonraithe. Is iad na luachanna a nglactar leo ná an bheirt ``(réamhshocraithe), ``IPv4IPv6. Tá an meaitseáil neamh-íogair.

unpack_ipv4Link to this definition

Díphacáil seoltaí mapáilte IPv4 mar :: ffff: 192.0.2.1. Má tá an rogha seo cumasaithe déanfaí an seoladh sin a dhíphacáil go 192.0.2.1 ``. réamhshocrú díchumasaithe. féidir é a úsáid ach amháin nuair a shocraítear ``prótacol go ``beach'.

max_lengthLink to this definition

Defaults to 39, and behaves the same way as it does for CharField.

ImageFieldLink to this heading

class ImageField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: ClearableFileInput

  • Luach folamh: ``Níl ``

  • Normalaíonn sé go: Rud UploadedFile` a fhilleann ábhar an chomhaid agus ainm an chomhaid i réad amháin.

  • Bailíonn sé go bhfuil sonraí comhaid ceangailte leis an bhfoirm. Úsáideann sé freisin: class: ~django.core.validators.fileExtensionValidator chun a bhailíochtú go dtacaíonn Pillow leis an síneadh comhaid.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí`, easna, folam`, invalid_image

Ag baint úsáide as ImageField is gá go bhfuil: pypi: pillow suiteáilte le tacaíocht do na formáidí íomhá a úsáideann tú. Má bhíonn earráid “íomhá truaillithe” ort nuair a uaslódálann tú íomhá, ciallaíonn sé de ghnáth nach dtuigeann Pillow a fhormáid. Chun é seo a shocrú, suiteáil an leabharlann cuí agus athshuiteáil Pillow.

<binding-uploaded-files>Nuair a úsáideann tú ImageField ar fhoirm, ní mór duit cuimhneamh freisin to:ref: `sonraí an chomhaid a cheangal leis an bhfoirm `.

Tar éis an réimse a ghlanadh agus a bhailíochtú, beidh tréith “íomhá” breise ag an réad uploadedfile ina bhfuil an sampla Pillow Image a úsáidtear chun seiceáil an raibh an comhad ina íomhá bailí. Dúnann Pillow an tuairisceoir comhaid bunúsach tar éis íomhá a fhíorú, mar sin cé go bhfuil tréithe sonraí neamh-íomhá, mar shampla ``formáid`, airde `, agus leithead, ar fáil, ní féidir modhanna a bhaineann rochtain ar shonraí íomhá bunúsacha, mar shampla ``getdata () nó `getpixel (), a úsáid gan an comhad a athoscailt. Mar shampla:

Python console
>>> from PIL import Image
>>> from django import forms
>>> from django.core.files.uploadedfile import SimpleUploadedFile
>>> class ImageForm(forms.Form):
...     img = forms.ImageField()
...
>>> file_data = {"img": SimpleUploadedFile("test.png", b"file data")}
>>> form = ImageForm({}, file_data)
# Pillow closes the underlying file descriptor.
>>> form.is_valid()
True
>>> image_field = form.cleaned_data["img"]
>>> image_field.image
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=191x287 at 0x7F5985045C18>
>>> image_field.image.width
191
>>> image_field.image.height
287
>>> image_field.image.format
'PNG'
>>> image_field.image.getdata()
# Raises AttributeError: 'NoneType' object has no attribute 'seek'.
>>> image = Image.open(image_field)
>>> image.getdata()
<ImagingCore object at 0x7f5984f874b0>

Ina theannta sin, déanfar uploadedfile.content_type a nuashonrú le cineál ábhair na híomhá más féidir le Pillow é a chinneadh, ar shlí eile socraítear é go ``None ``.

Réimse iomlánaLink to this heading

class IntegerField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: NumberInput nuai:attr: Field.Localize is False, eile: class: TextInput.

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Sláimhir Python.

  • Bailíonn sé gur sláimhir é an luach a thugtar. Úsáid:aicme: ~django.core.validators.maxvalueValidator agus:class: ~django.core.validators.minvalueValidator má chuirtear max_value agus min_value ar fáil. Úsáid:aicme: ~django.core.validators.stepvalueValidator má chuirtear step_size ar fáil. Ceadaítear spás bán tosaigh agus rianaithe, mar atá i bhfeidhm ``int () ``Python.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí ``, `luach_maxe, luach_min`, méide_step`

D'fhéadfadh go mbeadh % (limit_value) s sna teachtaireachtaí earráide max_value, min_value` agus step_size, % (limit_value) s`, a chuirfear an teorainn iomchuí in ionad.

Glacann sé trí argóint roghnach le haghaidh bailíochtú:

max_valueLink to this definition
min_valueLink to this definition

Rialaíonn siad seo an raon luachanna a cheadaítear sa réimse.

step_sizeLink to this definition

Cuir ionchuir bailí a theorannú go iolrach dhílis de step_size. Má chuirtear min_value ar fáil freisin, cuirtear é leis mar fhritháireamh chun a fháil amach an bhfuil méid an chéim ag teacht leis.

JsonfieldLink to this heading

class JSONField(encoder=None, decoder=None, **kwargs)Link to this definition

Réimse a ghlacann le sonraí ionchódaithe JSON do a:class: ~django.db.models.jsonField.

  • Giuirléid réamhshocraithe: :class: Textarea

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Léiriú Python ar an luach JSON (de ghnáth mar dict, liost`, nó None), ag brath ar:attr: JSONfield.decoder.

  • Bailíonn sé gur JSON bailí é an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Glacann sé dhá argóint roghnach:

encoderLink to this definition

A json.JSONEncoder subclass to serialize data types not supported by the standard JSON serializer (e.g. datetime.datetime or UUID). For example, you can use the DjangoJSONEncoder class.

Réamhshocraithe go JSON.JSONEncoder.

decoderLink to this definition

A json.JSONDecoder subclass to deserialize the input. Your deserialization may need to account for the fact that you can't be certain of the input type. For example, you run the risk of returning a datetime that was actually a string that just happened to be in the same format chosen for datetimes.

The decoder can be used to validate the input. If json.JSONDecodeError is raised during the deserialization, a ValidationError will be raised.

Réamhshocraithe go JSON.JSONDecoder.

MultiplechoiceFieldLink to this heading

class MultipleChoiceField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: SelectMultiple

  • Luach folamh: [] (liosta folamh)

  • Normalaítear go: Liosta de na teaghráin.

  • Bailíonn sé go bhfuil gach luach sa liosta luachanna ar leith i liosta na roghanna.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`, invalid_list`

D'fhéadfadh go mbeadh % (value) s sa teachtaireacht earráide invalid_choice, agus cuirfear an rogha roghnaithe in ionad.

Glacann sé argóint breise riachtanach amháin, roghna, mar atá le haghaidh: class: roghnaíon.

NullbooleanfieldLink to this heading

class NullBooleanField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: NullBooleanSelect

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Luach Python True, False` nó None.

  • Ní bhailíonn sé rud ar bith (ie, ní ardaíonn sé ValidationError riamh).

Is féidir NullBooleanField a úsáid le giuirléidí amsúil:class: ~django.forms.select nó:class: ~django.forms.radioSelect tríd an giuirléid roghnaithe a sholáthar:

Code
NullBooleanField(
    widget=Select(
        choices=[
            ("", "Unknown"),
            (True, "Yes"),
            (False, "No"),
        ]
    )
)

RegexfieldLink to this heading

class RegexField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: Cibé rud a thug tú mar empty_value`.

  • Normalaítear go dtí: Sreang.

  • Úsáid:Class: ~django.core.validators.regexValidator chun a bhailíochtú go bhfuil an luach tugtha comhoiriúnach le léiriú rialta áirithe.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tógann sé argóint riachtanach amháin:

regexLink to this definition

Léiriú rialta a shonraítear mar shreang nó mar réad abairt rialta tiomsaithe.

Glacann sé freisin max_length ``, `min_length, strip`, agus empty_value a oibríonn díreach mar a dhéanann siad do:class: charfield.

stripLink to this definition

Réamhshocraithe go False. Má tá sé cumasaithe, cuirfear stialladh i bhfeidhm roimh an bhailíochtú regex.

SlugfieldLink to this heading

class SlugField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: Cibé rud a thug tú mar: attr: empty_value.

  • Normalaítear go dtí: Sreang.

  • Úsáid:aicme: ~django.core.validators.validate_slug nó:class: ~django.core.validators.validate_unicode_slug chun a bhailíochtú nach bhfuil ach litreacha, uimhreacha, béim agus braithíní sa luach tugtha.

  • Teachtaireachtaí earráide: riachtan, neamhbhailí`

Tá an réimse seo beartaithe le húsáid chun samhail:class: ~django.db.models.slugfield a léiriú i bhfoirmeacha.

Glacann sé dhá pharaiméadar roghnach

allow_unicodeLink to this definition

Boolean a thugann treoir don réimse glacadh le litreacha Unicode i dteannta le litreacha ASCII. Réamhshocraithe go False.

empty_valueLink to this definition

An luach le húsáid chun “folamh” a léiriú. Réamhshocraithe chuig teaghrán folamh.

``Réimse ama ``Link to this heading

class TimeField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: TimeInput

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Rud Python datetime.time.

  • Bailíonn sé gur datetime.time` nó teaghrán formáidithe i bhformáid ama áirithe an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tógann sé argóint roghnach amháin:

input_formatsLink to this definition

Athraitheach formáidí a úsáidtear chun iarracht a dhéanamh teaghrán a thiontú go réad bailí datetime.time.

Mura gcuirtear argóint input_formats ar fáil, tógtar na formáidí ionchuir réamhshocraithe ón bhformáid áitiúil gníomhach TIME_INPUT_FORMATS eochair, nó ó:setting: TIME_INPUT_FORMATS má tá logánú díchumasaithe. Féach freis:doc: `formáid logánaithe' </topics/i18n/formatting>.

TypedChoiceFieldLink to this heading

class TypedChoiceField(**kwargs)Link to this definition

Díreach cosúil le a:class: choicefield, except:class: TypedChoiceField glacann dhá argóint breise, :attr: coerce agus:attr: empty_value.

  • Giuirléid réamhshocraithe: :class: `Roghnaigh `

  • Luach folamh: Cibé rud a thug tú mar: attr: empty_value.

  • Déanann sé normalú go: Luach den chineál a sholáthraíonn an argóint:attr: coerce.

  • Bailíonn sé go bhfuil an luach a thugtar ar liosta na roghanna agus gur féidir é a chur iallach.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`

Tógann sé argóintí breise:

coerceLink to this definition

Feidhm a thógann argóint amháin agus a thugann luach éigeantach ar ais. I measc na samplaí tá na int, float`, bool` agus cineálacha eile ionsuite. Réamhshocraithe ar fheidhm aitheantais. Tabhair faoi deara go dtarlaíonn comhéigean tar éis bailíochtú ionchuir, mar sin is féidir luach nach bhfuil i láthair i “roghanna” a chur i bhfeidhm.

empty_valueLink to this definition

An luach le húsáid chun “folamh” a léiriú. Réamhshocraithe don teaghrán folamh; Is rogha coitianta eile é None ``anseo. Tabhair faoi deara nach gcuirfear an luach seo a iallach leis an bhfeidhm a thugtar san argóint ``force, mar sin roghnaigh é dá réir.

TypedMultiplechoiceFieldLink to this heading

class TypedMultipleChoiceField(**kwargs)Link to this definition

Díreach cosúil le a:class: MultipleChoiceField, seachas: class: TypedMultipleChoiceField thógann dhá argóint breise, coerce agus empty_value.

  • Giuirléid réamhshocraithe: :class: SelectMultiple

  • Luach folamh: Cibé rud a thug tú mar empty_value

  • Normalaítear go dtí: Liosta luachanna den chineál a sholáthraíonn an argóint ``forbairt ``.

  • Bailíonn sé go bhfuil na luachanna a thugtar ar liosta na roghanna agus gur féidir iad a chur iallach.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`

D'fhéadfadh go mbeadh % (value) s sa teachtaireacht earráide invalid_choice, agus cuirfear an rogha roghnaithe in ionad.

Glacann sé dhá argóint bhreise, coerce agus empty_value`, mar atá le haghaidh: class: TypedChoiceField.

UrlfieldLink to this heading

class URLField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: Urlinput

  • Luach folamh: Cibé rud a thug tú mar empty_value`.

  • Normalaítear go dtí: Sreang.

  • Úsáid:Class: ~django.core.validators.urlValidator chun a bhailíochtú gur URL bailí é an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tá na hargóintí roghnacha max_length ``, `min_length, empty_value` a oibríonn díreach mar a dhéanann siad do:class: charfield, agus argóint amháin eile:

assume_schemeLink to this definition

The scheme assumed for URLs provided without one. Defaults to "https". For example, if assume_scheme is "https" and the provided value is "example.com", the normalized value will be "https://example.com".

UuidfieldLink to this heading

class UUIDField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: ``Níl ``

  • Déanann sé normalú go réad: A: Class: ~Python: UUID.uuid.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Glacfaidh an réimse seo le haon fhormáid teaghrán a nglactar leis mar argóint hex don tógálaí: class: ~python:uuid.uuid.

Ranganna Páirce tógtha beagán castaLink to this heading

CombofieldLink to this heading

class ComboField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: ``"``(teaghrán folamh)

  • Normalaítear go dtí: Sreang.

  • Bailíonn sé an luach a thugtar i gcoinne gach ceann de na réimsí a shonraítear mar argóint don Combofield.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `

Tógann sé argóint riachtanach breise amháin:

fieldsLink to this definition

Liosta na réimsí ba chóir a úsáid chun luach an réimse a bhailíochtú (san ord ina gcuirtear ar fáil iad).

Python console
>>> from django.forms import ComboField
>>> f = ComboField(fields=[CharField(max_length=20), EmailField()])
>>> f.clean("test@example.com")
'test@example.com'
>>> f.clean("longemailaddress@example.com")
Traceback (most recent call last):
...
ValidationError: ['Ensure this value has at most 20 characters (it has 28).']

Réimse IlluachaLink to this heading

class MultiValueField(fields=(), **kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: textInput

  • Luach folamh: ``"``(teaghrán folamh)

  • Normalaítear go dtí: an cineál a chuirtear ar ais trí mhodh ``comhbhrúiteach` sa fho-aicme.

  • Bailíonn sé an luach a thugtar i gcoinne gach ceann de na réimsí a shonraítear mar argóint don ``MultivalueField`.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí `, neamhiomlán`

Comhiomlánann sé loighic réimsí iolracha a tháirgeann luach amháin le chéile.

Tá an réimse seo teibí agus ní mór é a fho-aicmiú. I gcodarsnacht leis na réimsí aonluacha, ní mór fo-aicmí de:class: MultivalueField a chur i bhfeidhme:meth: ~django.forms.field.clean ach ina ionad sin - cur i bhfeidhm: meth: ~MultivalueField.compress.

Tógann sé argóint riachtanach breise amháin:

fieldsLink to this definition

A tuple of fields whose values are cleaned and subsequently combined into a single value. Each value of the field is cleaned by the corresponding field in fields -- the first value is cleaned by the first field, the second value is cleaned by the second field, etc. Once all fields are cleaned, the list of clean values is combined into a single value by compress().

Glacann sé roinnt argóintí roghnach freisin:

require_all_fieldsLink to this definition

Réamhshocraithe go True, agus sa chás sin ardófar earráid bailíochtaithe riachtanaithe mura soláthraítear aon luach d'aon réimse.

Nuair a shocraítear é go False`, is féidir an tréith: attr: Field.required a shocrú go False le haghaidh réimsí aonair chun iad a dhéanamh roghnach. Mura gcuirtear aon luach ar fáil do réimse riachtanach, ardófar earráid bailíochtaithe neamhiomlán.

Is féidir teachtaireacht earráide réamhshocraithe neamhchomhlán a shainiú ar an bhfo-aicme:class: MultivalueField, nó is féidir teachtaireachtaí éagsúla a shainiú ar gach réimse aonair. Mar shampla:

Code
from django.core.validators import RegexValidator


class PhoneField(MultiValueField):
    def __init__(self, **kwargs):
        # Define one message for all fields.
        error_messages = {
            "incomplete": "Enter a country calling code and a phone number.",
        }
        # Or define a different message for each field.
        fields = (
            CharField(
                error_messages={"incomplete": "Enter a country calling code."},
                validators=[
                    RegexValidator(r"^[0-9]+$", "Enter a valid country calling code."),
                ],
            ),
            CharField(
                error_messages={"incomplete": "Enter a phone number."},
                validators=[RegexValidator(r"^[0-9]+$", "Enter a valid phone number.")],
            ),
            CharField(
                validators=[RegexValidator(r"^[0-9]+$", "Enter a valid extension.")],
                required=False,
            ),
        )
        super().__init__(
            error_messages=error_messages,
            fields=fields,
            require_all_fields=False,
            **kwargs
        )
widgetLink to this definition

Caithfidh sé a bheith ina fho-aicme de:class: Django.Forms.MultiWidget. Is é an luach réamhshocraithe:class: ~django.forms.textInput, rud nach bhfuil an-úsáideach sa chás seo is dócha.

compress(data_list)Link to this definition

Tógann sé liosta de luachanna bailí agus cuireann sé leagan “comhbhrúite” de na luachanna sin ar ais - i luach amháin. Mar shampla, :class: Is fo-aicme é splitDateTimeField a chomhcheanglaíonn réimse ama agus réimse dáta i réad datetime.

Caithfear an modh seo a chur i bhfeidhm sna fo-aicmí.

SplitDateTimeFieldLink to this heading

class SplitDateTimeField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: SplitDateTimeWidget

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Rud Python datetime.datetime.

  • Bailíonn sé gur datetime.datetime` nó sreang formáidithe i bhformáid dáta-ama áirithe an luach a thugtar.

  • Eochracha teachtaireachta earráide: riachtan, neamhbhailí`, dáta_invalid`, invalid_time`

Glacann sé dhá argóint roghnach:

input_date_formatsLink to this definition

Liosta de na formáidí a úsáidtear chun iarracht a dhéanamh teaghrán a thiontú go réad bailí datetime.date.

Mura gcuirtear argóint input_date_formats ar fáil, úsáidtear na formáidí ionchuir réamhshocraithe le haghaidh: class: DateField.

input_time_formatsLink to this definition

Liosta de na formáidí a úsáidtear chun iarracht a dhéanamh teaghrán a thiontú go réad bailí datetime.time.

Mura gcuirtear argóint input_time_formats ar fáil, úsáidtear na formáidí ionchuir réamhshocraithe le haghaidh: class: Timefield.

Réimsí a bhaineann le caidrimhLink to this heading

Two fields are available for representing relationships between models: ModelChoiceField and ModelMultipleChoiceField. Both of these fields require a single queryset parameter that is used to create the choices for the field. Upon form validation, these fields will place either one model object (in the case of ModelChoiceField) or multiple model objects (in the case of ModelMultipleChoiceField) into the cleaned_data dictionary of the form.

Le haghaidh úsáidí níos casta, is féidir leat querySet = None a shonrú agus an réimse foirme á dhearbhú agus ansin an queryset a líonadh i modh ``__init__ () ``sa fhoirm:

Code
class FooMultipleChoiceForm(forms.Form):
    foo_select = forms.ModelMultipleChoiceField(queryset=None)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields["foo_select"].queryset = ...

Tá tréith literator ag ModelChoiceField` agus ModelMultipleChoiceField araon a shonraíonn an rang a úsáidtear chun athrú thar an tacar fiosrúcháin agus roghanna á ghiniúint. Féach:ref: `roghanna litearálach-caidrim' le haghaidh sonraí.

ModelChoiceFieldLink to this heading

class ModelChoiceField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: `Roghnaigh `

  • Luach folamh: ``Níl ``

  • Normalaítear go dtí: Sampla samhail.

  • Bailíonn sé go bhfuil an id a thugtar sa tacar ceisteanna.

  • Eochracha teachtaireachta earráide: riachtan, invalid_choice`

D'fhéadfadh go mbeadh % (value) s sa teachtaireacht earráide invalid_choice, agus cuirfear an rogha roghnaithe in ionad.

Ligeann sé réad samhail amháin a roghnú, atá oiriúnach chun eochair eachtrach a léiriú. Tabhair faoi deara go mbíonn an giuirléid réamhshocraithe do `ModelChoiceField ``neamhphraiticiúil nuair a mhéadaíonn líon na n-iontrálacha. Ba chóir duit é a úsáid le haghaidh níos mó ná 100 mír a sheachaint.

Teastaíonn argóint amháin:

querysetLink to this definition

“QuerySet” de rudaí samhail as a dhíorthaítear na roghanna don réimse agus a úsáidtear chun rogha an úsáideora a bhailíochtú. Déantar é a mheas nuair a dhéantar an fhoirm a rinneadh.

Glacann ModelChoicefield roinnt argóintí roghnacha freisin:

empty_labelLink to this definition

De réir réamhshocraithe beidh rogha fol <select>amh ag an ngiuirléid ```` a úsáideann ModelChoiceField ag barr an liosta. Is féidir leat téacs an lipéad seo a athrú (arb é ---------- de réir réamhshocraithe) leis an tréith empty_label, nó is féidir leat an lipéad folamh a dhíchumasú go hiomlán trí empty_label a shocrú go ``None ``:

Code
# A custom empty label
field1 = forms.ModelChoiceField(queryset=..., empty_label="(Nothing)")

# No empty label
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)

Tabhair faoi deara nach gcruthaítear aon rogha folamh (beag beann ar luach empty_label) má theastaíonn ModelChoiceField agus má tá luach tosaigh réamhshocraithe aige, nó go socraítear argóint widget go:class: ~django.forms.RadioSelect agus is é: attr: ~ModeliceChofield.blank `False.

to_field_nameLink to this definition

Úsáidtear an argóint roghnach seo chun an réimse atá le húsáid mar luach na roghanna i ngiuirléid an réimse a shonrú. Bí cinnte gur réimse uathúil é don tsamhail, ar shlí eile d'fhéadfadh an luach roghnaithe níos mó ná réad amháin a mheaitseáil. De réir réamhshocraithe tá sé socraithe go None, sa chás sin úsáidfear príomh-eochair gach réad. Mar shampla:

Code
# No custom to_field_name
field1 = forms.ModelChoiceField(queryset=...)

bheadh toradh air:

Html
<select id="id_field1" name="field1">
<option value="obj1.pk">Object1</option>
<option value="obj2.pk">Object2</option>
...
</select>

agus:

Code
# to_field_name provided
field2 = forms.ModelChoiceField(queryset=..., to_field_name="name")

bheadh toradh air:

Html
<select id="id_field2" name="field2">
<option value="obj1.name">Object1</option>
<option value="obj2.name">Object2</option>
...
</select>
blankLink to this definition

Agus an giuirléid: class: ~django.forms.RadioSelect á úsáid agat, cinneann an argóint boolean roghnach seo an gcruthaítear rogha folamh. De réir réamhshocraithe, is é blank False`, agus sa chás sin ní chruthaítear aon rogha folamh.

Tá an tréith ag ModelChoiceField freisin:

iteratorLink to this definition

An rang iterator a úsáidtear chun roghanna réimse a ghiniúint ó queryset. De réir réamhshocraithe, :class: ModelChoiceIterator.

Glaofar ar an modh __str__ () ``den mhúnla chun léiriúcháin teaghrán a ghiniúint ar na rudaí le húsáid i roghanna an réimse. Chun ionadaíochtaí saincheaptha a sholáthar, déan fo-aicme ``ModelChoicefield agus label_from_instance` a shárú. Gheobhaidh an modh seo réad samhail agus ba cheart go gcuirfeadh sreang atá oiriúnach chun é a léiriú ar ais. Mar shampla:

Code
from django.forms import ModelChoiceField


class MyModelChoiceField(ModelChoiceField):
    def label_from_instance(self, obj):
        return "My Object #%i" % obj.id

ModelMultipleChoiceFieldLink to this heading

class ModelMultipleChoiceField(**kwargs)Link to this definition
  • Giuirléid réamhshocraithe: :class: SelectMultiple

  • Luach folamh: An folamh QuerySet (``self.queryset.none () ``)

  • Normalaítear go dtí: A QuerySet de chásanna samhail.

  • Bailíonn sé go bhfuil gach id sa liosta luachanna tugtha sa tacar fiosrúcháin.

  • Eochracha teachtaireachta earráide: riachtan, invalid_list, invalid_choice`, invalid_pk_value`

D'fhéadfadh go mbeadh % (value) s` sa teachtaireacht invalid_choice agus d'fhéadfadh go mbeadh % (pk) s` sa teachtaireacht invalid_pk_value, agus cuirfear na luachanna cuí in ionad.

Ligeann sé réad samhail amháin nó níos mó a roghnú, atá oiriúnach chun caidreamh go leor le go leor a léiriú. Mar atá le: class: ModelChoiceField, is féidir leat label_from_instance a úsáid chun na léirithe réad a shaincheapadh.

Teastaíonn argóint amháin:

querysetLink to this definition

Mar an gcéanna len:class: ModelChoiceField.QuerySet.

Tógann sé argóint roghnach amháin:

to_field_nameLink to this definition

Mar an gcéanna len:class: ModelChoiceField.to_Field_Nam.

Tá an tréith ag ModelMultipleChoiceField freisin:

iteratorLink to this definition

Mar an gcéanna len:class: ModelChoiceField.iterator.

Roghanna caidrimh athraitheachaLink to this heading

De réir réamhshocraithe, :class: ModelChoiceField agus:class: ModelMultipleChoiceField úsáid:class: ModelChoiceIterator chun a réimse roghnaithe a ghiniúint.

Nuair a dhéantar athrá, tugann ModelChoiceIterator` roghanna 2-thúpla ina bhfuil: class: ModelChoiceIteratorValue cásanna mar an chéad eilimint luach i ngach rogha. <option>Fillteann ModelChoiceIteratorValue an luach rogha agus tagairt á choinneáil don shampla samhail foinse is féidir a úsáid i bhfeidhmiú giuirléid saincheaptha, mar shampla, chun sonraí-* tréithe `_ a chur le ``` eilimintí.

Mar shampla, smaoinigh ar na samhlacha seo a leanas:

Code
from django.db import models


class Topping(models.Model):
    name = models.CharField(max_length=100)
    price = models.DecimalField(decimal_places=2, max_digits=6)

    def __str__(self):
        return self.name


class Pizza(models.Model):
    topping = models.ForeignKey(Topping, on_delete=models.CASCADE)

<option>Is féidir leat fo-aicme giuirléid a:class: ~django.forms.select a úsáid chun luach Topping.price a áireamh mar an tréith HTML sonraí-praghas do gach eilimint ```:

Code
from django import forms


class ToppingSelect(forms.Select):
    def create_option(
        self, name, value, label, selected, index, subindex=None, attrs=None
    ):
        option = super().create_option(
            name, value, label, selected, index, subindex, attrs
        )
        if value:
            option["attrs"]["data-price"] = value.instance.price
        return option


class PizzaForm(forms.ModelForm):
    class Meta:
        model = Pizza
        fields = ["topping"]
        widgets = {"topping": ToppingSelect}

Tabharfaidh sé seo an roghnú Pizza.Topping mar:

Html
<select id="id_topping" name="topping" required>
<option value="" selected>---------</option>
<option value="1" data-price="1.50">mushrooms</option>
<option value="2" data-price="1.25">onions</option>
<option value="3" data-price="1.75">peppers</option>
<option value="4" data-price="2.00">pineapple</option>
</select>

Le haghaidh úsáide níos airde, féadfaidh tú fo-aicme ModelChoiceIterator d'fhonn na roghanna 2-tuple a fhaightear a shaincheapadh.

ModelChoiceLiteratorLink to this heading

class ModelChoiceIterator(field)Link to this definition

An rang réamhshocraithe a shanntar don tréith iterator de:class: ModelChoiceField agus:class: ModelMultipleChoiceField. Inathraitheach a thugann roghanna 2-tuple ón tacar fiosrúcháin.

Teastaíonn argóint amháin:

fieldLink to this definition

An sampla de ModelChoiceFieldModelMultipleChoiceField chun roghanna a athrú agus a tháirgeadh.

Tá an modh seo a leanas ag ModelChoiceIterator`:

__iter__()Link to this definition

Tugann sé roghanna dhá thiúpla, san fhormáid (luach, lipéad) a úsáideann: attr: ChoiceField.Choices. Is é a: class: ModelChoiceIteratorValue an chéad eilimint luach sampla.

ModelChoiceLiteratorValueLink to this heading

class ModelChoiceIteratorValue(value, instance)Link to this definition

Teastaíonn dhá argóint:

valueLink to this definition

Luach an rogha. <option>Úsáidtear an luach seo chun tréith luach eilimint HTML ```a léiriú.

instanceLink to this definition

An tsamhail samhail ón tacar ceisteanna. Is féidir rochtain a fháil ar an gcás i bhfeidhmiú saincheaptha ``choicewidget.create_option () ``chun an HTML rindreáilte a choigeartú.

Tá an modh seo a leanas ag ModelChoiceIteratorValue`:

__str__()Link to this definition

Tabhair ar ais luach mar shreang le léiriú i HTML.

Réimsí saincheaptha a chur arLink to this heading

Mura gcomhlíonann na ranganna “Réimse” ionsuite do riachtanais, is féidir leat ranganna saincheaptha Réimse ``a chruthú. Chun seo a dhéanamh, cruthaigh fo-aicme de ``Django.Forms.Field. Is é an t-aon cheanglais atá aige ná go gcuirfidh sé modh glan () `i bhfeidhm agus go nglacfaidh a modh ``__init__ () ``leis na croí-argóintí a luaitear thuas (``riachtan, lip`, lip, tionsc`, widget`, help_text`).

You can also customize how a field will be accessed by overriding bound_field_class or override Field.get_bound_field() if you need more flexibility when creating the BoundField:

Field.get_bound_field(form, field_name)Link to this definition

Takes an instance of Form and the name of the field. The returned BoundField instance will be used when accessing the field in a template.

See Saincheapadh Boundfield for examples of overriding a BoundField.