Nótaí scaoilte Django 1.10Link to this heading
1 Lúnasa, 2016
Fáilte go Django 1.10!
Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua <whats-new-1.10>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar chúl<backwards-incompatible-1.10> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 1.9 nó leaganacha níos sine. <deprecated-features-1.10>Chuireamar: Ref: thit roinnt <removed-features-1.10>gnéithe `a bhfuil deireadh a dtimthriall díghníomhaíochta bainte amach acu, agus chuireamaire:ref: `thosaigh muid ar an bpróiseas díghníomhaíochta do roinnt gnéithe.
Féach an treoir:doc: /howto/upgrade-leagan má tá tionscadal atá ann cheana á nuashonrú agat.
Comhoiriúnacht PythonLink to this heading
Cosúil le Django 1.9, teastaíonn Python 2.7, 3.4, nó 3.5 ó Django 1.10. Molaimid** go hard** agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.
Cad atá nua i Django 1.10Link to this heading
Cuardach téacs iomlán do PostgreSQLLink to this heading
Cuimsíonn django.contrib.postgres anois cnuasach feidhmeanna bunachar sonraí chun úsáid an innill chuardaigh téacs iomlán a cheadú. Is féidir leat cuardach a dhéanamh thar réimsí iolracha i do bhunachar sonraí coibhneasta, cuardaigh a chomhcheangal le cuardaigh eile, cumraíochtaí agus ualuithe éagsúla teanga a úsáid, agus na torthaí a rangú de réir ábharthacht.
Cuimsíonn sé tacaíocht trigram anois, ag baint úsáide as an lorgaí:lookup: trigram_similar, agus na:class: ~django.contrib.postgres.search.trigramsimilarity agus:class: ~django.contrib.postgres.search.trigramdistance.
Meán-earraí nua i stílLink to this heading
</topics/http/middleware> < https://github.com/django/deps/blob/main/final/0005-improved-middleware.rst>:doc: “Cuirtear isteach stíl nua de mheán-earraí” chun an easpa docht iarrata/freagartha a réiteach ar sheanstíl mheánearraí a thuairiscítear in DEP 0005. Beidh ort: ref: sean-mheán-earraí saincheaptha a oiriúnú `agus aistriú ón socrú ``MIDDLEWARE <upgrading-middleware>_CLASSES` go dtí an socrú nua:setting: MIDDLEWARE chun leas a bhaint as na feabhsuithe.
Tacaíocht oifigiúil d'ainmneacha úsáideora UnicodeLink to this heading
Ní ghlac an tsamhail:class: ~django.contrib.auth.models.user i django.contrib.auth ar dtús litreacha agus uimhreacha ASCII in ainmneacha úsáideora. Cé nach rogha d'aon ghnó a bhí ann, glacadh le carachtair Unicode i gcónaí agus Python 3 á úsáid agat.
Glacann an bailíochtóir ainm úsáideora go sainráite anois le carachtair Unicode de réir réamhshocraithe ar Python 3 amháin.
Féadfaidh samhlacha úsáideora saincheaptha an nua:class: ~django.contrib.auth.validators.asciiUserNameValidator nó: class: ~django.contrib.auth.validators.unicodeUserNameValidator a úsáid.
MionghnéitheLink to this heading
django.contrib.adminLink to this heading
Maidir le suíomhanna atá ag rith ar fho-chosán, déanfaidh an réamhshocraithe:attr: URL don nasc “Féach ar an láithreán” <django.contrib.admin.AdminSite.site_url>`ag barr gach leathanach riaracháin ag díriú anois ar ``request.meta ['SCRIPT_NAME'] ``má tá sé socraithe, in ionad `/``.
Tá nasc anois le foirm athraithe an réada sa teachtaireacht rathúlachta atá le feiceáil tar éis réad a chur leis nó a chur in eagar.
Baintear gach JavaScript inlíne ionas gur féidir leat an ceannteideal HTTP
Content-Security-Policya chumasú más mian leat.<django.contrib.admin.InlineModelAdmin.classes>Ceadaíonn an tréith nua:attr: InlineModelAdmin.classes `aicmí a shonrú ar thacainní réimsí inlíne. Titeofar ar dtús na línte a bhfuil rang ``fallse` acu agus beidh nasc beag “seó” ag a gceanntásc.
Mura bhfuil an cead breise ag úsáideoir, déanfar an bloc `réad-uirlisí ``ar liosta athraithe samhail a léiriú anois (gan an cnaipe leis). Fágann sé seo go bhfuil sé níos éasca uirlisí saincheaptha a chur leis sa chás seo.
Stórálann an tsamhail:Class: ~django.contrib.admin.models.logentry teachtaireachtaí athraithe i struchtúr JSON anois ionas gur féidir an teachtaireacht a aistriú go dinimiciúil ag baint úsáide as an teanga ghníomhach reatha. Is é modh nua ``Logentry.get_change_message () ``an bealach is fearr anois chun an teachtaireacht athraithe a aisghabháil.
Tá nasc anois ag rudaí roghnaithe do réimsí i ModelAdmin.raw_id_fields` le foirm athraithe réad anois.
Cuireadh roghanna “Gan dáta” agus “Tá dáta aige” le haghaidh
DateFieldListFiltermá tá an réimse neamhnaithe.Déantar an leabharlann jQuery atá leabaithe sa riarachán a uasghrádú ó leagan 2.1.4 go 2.2.3.
django.contrib.authLink to this heading
<argon2_usage>Tacaíocht bhreise don: ref: `hash pasfhocal Argon2 `. Moltar é thar PBKDF2, áfach, ní hé an réamhshocrú toisc go dteastaíonn leabharlann tríú páirtí uaidh.
Méadaíodh 25% an líon athraithe réamhshocraithe don hasher pasfhocal PBKDF2. Ní dhéanfaidh an t-athrú comhoiriúnach ar chúl difear d'úsáideoirí a bhfuil fo-aicmithe ag
Django.contrib.auth.hashers.pbkdf2PasswordHasherchun an luach réamhshocraithe a athrú.Seolann an radharc ``django.contrib.auth.views.logout () ``ceanntásca “no-cache” chun saincheist a chosc ina ndéanann Safari ceascanna a atreorú agus cuireann sé cosc ar úsáideoir a bheith in ann logáil amach.
Cuireadh an argóint roghnach
backendchuig: func: django.contrib.auth.login chun ligean é a úsáid gan dhintiúir.Rialaíonn an socrú nua:setting: LOGOUT_REDIRECT_URL athreorú an amharc
django.contrib.auth.views.logout () `, mura bhfaigheann an dearcadh argóint ``next_page.Ligeann an paraiméadar nua
redirect_autenticated_userdon amharc ``django.contrib.auth.views.login () ``úsáideoirí fíordheimhnithe a thugann cuairt ar an leathanach logála isteach a atreorú.Déanann an nua:class: ~django.contrib.auth.backends.allowAllUsersModelBackend agus:class: ~django.contrib.auth.backends.allowAllUsersRemoteUserBackend neamhaird ar luach
User.is_Active, agus: class: ~django.contrib.auth.backends.modelBackend :class: ~django.contrib.auth.backends.remoteUserBackend diúltú úsáideoirí neamhghníomhacha anois.
django.contrib.gisLink to this heading
Distance lookups now accept expressions as the distance value parameter.
Ríomhaíonn an maoin nua:attr: `Geosgeometry.unary_union <django.contrib.gis.geos.GEOSGeometry.unary_union>`aontas eilimintí uile an geoiméadra seo.
<django.contrib.gis.geos.GEOSGeometry.covers>Cuireadh an predicate dénártha: meth: `Geosgeometry.covers () `leis.
Cuireadh an modh: meth: GdalBand.Statistics () `agus:attr: `~django.contrib.gis.gdal.gdalband.mean agus:attr: ~django.contrib.gis.gdal.gdalband.st <django.contrib.gis.gdal.GDALBand.statistics>d tréithe.
Tacaíocht bhreise don chomhiomlán: aicme: ~django.contrib.gis.db.models.makeline agus:class: ~django.contrib.gis.db.models.functions.geohash feidhm ar Spatialite.
Tacaíocht bhreise don: class: ~django.contrib.gis.db.models.functions.difference, :class: ~django.contrib.gis.db.models.functions.intersection, agus:class: ~django.contrib.gis.db.models.functions.symdifference feidhmeanna ar MySQL.
Tacaíocht bhreise chun geoiméadraí folamh GEOS a chur ar aghaidh.
Ceadaíonn an nua:attr: ~django.contrib.gis.geos.wktwriter.trim agus:attr: ~django.contrib.gis.geos.wktWriter.Precision airíonna de:class: ~django.contrib.gis.geos.wktWriter rialú aschur an chuid codánach de na comhordanáidí i WKT.
<django.contrib.gis.geos.LineString.closed><django.contrib.gis.geos.MultiLineString.closed>Cuireadh airíonna: attr: Linestring.closed `agus:attr: `MultilineString.Closed leis.
Aisíonn an:doc: GeoJSON serializer an príomh-eochair na rudaí sa fhoclóir
</ref/contrib/gis/serializers> airíonnamura sonraítear réimsí ar leith.Cuireadh an cumas sonraí ionchuir a mhacasamhlú ar an modh
GDALBand.data(). Is féidir sonraí banna a nuashonrú anois le luachanna arís agus arís eile go héifeachtach.Feidhmeanna bunachar sonraí breise :aicme:`~django.contrib.gis.db.models.functions.IsValid` agus :rang:`~django.contrib.gis.db.models.functions.MakeValid`, chomh maith leis an :lookup: cuardach isvalid, go léir le haghaidh PostGIS. Ligeann sé seo céimseataí neamhbhailí ar thaobh an bhunachair shonraí a scagadh agus a dheisiú.
Cuireadh tacaíocht raster leis do gach duine: doc: cuardach spásúil </ref/contrib/gis/geoquerysets>.
django.contrib.postgresLink to this heading
Ar mhaithe le áisiúlacht, caitheann :class: ~django.contrib.postgres.fields.hStorefield anois a heochracha agus a luachanna chuig teaghráin.
django.contrib.sessionsLink to this heading
Baineann an t-ordú bainistíochta: DJadmin: clearsessions seisiúin comhadbhunaithe anois.
django.contrib.sitesLink to this heading
django.contrib.staticfilesLink to this heading
Úsáideann an chlib teimpléad:ttag: static
django.contrib.staticfilesanois má tá sé iINSTALLED_APPS. Tá sé seo úsáideach go háirithe d'aipeanna tríú páirtí ar féidir leo{% load static%} `a úsáid anois i gcónaí (in ionad{% load staticfiles%}nó{% load static from staticfiles%}) agus gan a bheith buartha faoi cibé an bhfuil an aip `staticfilessuiteáilte nó nach bhfuil.Is féidir leat:ref:
a shaincheapadh níos éasca `an rogha<customize-staticfiles-ignore-patterns>collectstatic --ignore`` le AppConfig` saincheaptha.
CacheLink to this heading
Úsáideann an cúltaca taisce comhbhunaithe anois an prótacal picling is airde.
CSRFLink to this heading
Glacann an réamhshocraithe:setting: CSRF_FAILURE_VIEW,
views.csrf.csrf_fail () `anois le paraiméadar roghnach ``template_name, ag réamhshocrú go ``403_csrf.html'`, chun an teimpléad a úsáidtear chun an leathanach a rinneadh a rialú.Chun cosaint a dhéanamh i gcoinne ionsaithe BREACH, athraíonn an mheicníocht cosanta CSRF luach an chomhartha foirme anois ar gach iarratas (agus rún inathraithe á choinneáil ar féidir a úsáid chun na comharthaí éagsúla a bhailíochtú).
Cúltaca bunachar sonraíLink to this heading
Aontaíodh gearradh sonraí ama ar gach cúltaca.
Má thacaíonn an bunachar sonraí leis, is féidir le cúltaca
databaseFeatures.can_return_ids_from_bulk_insert=truea shocrú agusDatabaseOperations.fetch_returned_insert_ids ()a chur i bhfeidhm chun eochracha bunscoile a shocrú ar rudaí a cruthaíodh ag baint úsáide as `querySet.bulk_create () `.Cuireadh argóintí eochairfhocal leis na modhanna
as_sql () ``de nathanna éagsúla (`Func, When`, Case `, agus Orderby`) chun ligean do chúltaca bunachar sonraí iad a shaincheapadh ganféina athrú, rud nach bhfuil sábháilte agus cúltaca bunachar sonraí éagsúla á úsáid. <django.db.models.Func.as_sql>Féach na paraiméadair arg_joiner` agus**extra_contextde:meth: `Func.as_sql () `mar shampla.
Stóráil ComhadLink to this heading
Cuireann cúltaca stórála API atá ar an eolas ag crios ama anois le modhanna nua: meth: ~django.core.files.storage.storage.get_accessed_time, :meth: ~django.core.files.storage.storage.get_created_time, agus:meth: ~django.core.files.storage.get_get_get_get_geT_Am_athraithe'. Tugann siad `datetime` atá ar an eolas faoi chrios ama más rud é: socrú:
`Trueé USE_TZ agus datetime` naif sa chrios ama áitiúil ar shlí eile.Déanann an modh nua:meth: Storage.generate_filename () <django.core.files.storage.Storage.generate_filename>`níos éasca stórais saincheaptha a chur i bhfeidhm nach n-úsáideann na glaonna ``os.path` roimhe seo in:class: ~Django.db.Models.FileField.
FoirmeachaLink to this heading
Freastalaítear foirm agus giuirléid ``Meáin ``anois ag baint úsáide as: mod: django.contrib.staticfiles má tá sé suiteáilte.
Cuimsíonn an chlib <input>```a rinneadh ag:class: ~django.forms.charfield tréith
minlengthanois má tá ``min_length ``sa réimse.Tá an tréith HTML “riachtanach” ag réimsí foirme riachtanacha anois. <django.forms.Form.use_required_attribute>Socraigh an tréith nua:attr: Form.use_required_attribute le
Falsechun é 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.
Tuairimí cineálachaLink to this heading
Is féidir an rang:class: ~django.views.generic.base.view a allmhairiú anois ó
django.views.
IdirnáisiúnúLink to this heading
<django.http.HttpRequest.urlconf>Is féidir an fheidhm chúntóirí:func: ~django.conf.urls.i18n.i18n_patterns a úsáid anois i bhfréimhe URLConf a shonraítear ag baint úsáide as: attr: `request.urlconf `.
Trí an pharaiméadar nua
prefix_default_languagea shocrú fao:func: ~django.conf.urls.i18n.i18n_patterns go False`, is féidir leat rochtain a fháil ar an teanga réamhshocraithe gan réimír URL a cheadú.set_language()now returns a 204 status code (No Content) for AJAX requests when there is nonextparameter inPOSTorGET.Is ionad tuairimí ranga-bhunaithe: ~Django.Views.I18N.JavaScriptCatalog agus:class: ~django.views.i18N.jsonCatalog na tuairimí bunaithe ar fheidhm “javascript_catalog () ``agus ``json_catalog () . Tá na tuairimí nua beagnach comhionann leis na seanchúin ach amháin go mbailíonn na tuairimí nua gach teaghrán JavaScript i bhfearann aistriúcháin ``djangojs ``ó gach aip suiteáilte seachas na teaghráin JavaScript ó:setting: `LOCALE_PATHS.
Orduithe BainistíochtaLink to this heading
call_command()now returns the value returned from thecommand.handle()method.Ligeann an rogha nua:option: check --fail-level leibhéal na teachtaireachta a shonrú a fhágfaidh go n-imeoidh an t-ordú le stádas neamh-nialas.
Déanann an rogha nua:option: makemigrations --check imeacht an t-ordú le stádas neamh-nialas nuair a bhraitear athruithe samhail gan imirce.
makemigrationsnow displays the path to the migration files that it generates.Glacann an roghna:option: shell --interface anois le
pythonchun an ateangaire Python “simplí” a úsáid a chur i bhfeidhm.Ligeann an rogha nua:option: shell --command duit ordú a reáchtáil mar Django agus imeacht, in ionad an bhlaosc idirghníomhach a oscailt.
Cuireadh rabhadh chuig: djadmin: dumpdata má shonraítear samhail seachfhreastalaí (nach bhfuil aon aschur mar thoradh air sin) gan a thuismitheoir nithiúil.
Is féidir an tréith nua:attr: BaseCommand.requires_migrations_checks a shocrú go
<django.core.management.BaseCommand.requires_migrations_checks>Truemás mian leat d'ordú rabhadh a phriontáil, cosúil:djadmin: runserver, mura n-oireann an tacar imirce ar an diosca leis na himirce sa bhunachar sonraí.Chun cabhrú le tástáil, glacann: func: ~django.core.management.call_command anois le réad ordaithe mar an chéad argóint.
Tacaíonn an t-ordú: Djadmin: shell le críochnú cluaisín ar chórais a úsáideann
libedit, m.sh. macOS.Ligeann an t-ordú: DJAdmin: inspectdb duit na táblaí ba chóir a iniúchadh a roghnú trína n-ainmneacha a shonrú mar argóintí.
ImirceLink to this heading
Tacaíocht bhreise le haghaidh sraitheadh rudaí
Enum.enum.Cuireadh an argóint
elidableleis na hoibríochtaí: :class: ~django.db.migrations.operations.runsql agus:class: ~django.db.migrations.operations.runpython chun ligean iad a bhaint agus imirce á scrúdú.Tacaíocht bhreise le haghaidh: ref: imirce neamh-adamhaíoch tríd an tréith
atomic` <non-atomic-migrations>`a shocrú ar ``Imirce.<migration-history-consistency>Na horduithe
imirceagus makemigrations` anois:ref: seiceáil stair chomhsheasmhach imirce `. Má aimsíonn siad roinnt spleáchais neamhfheidhmeacha ar imirce feidhmithe, ardaítear ``InconsistentImmigrationHistory`.Seolann na comharthaí: Func: ~django.db.models.signals.pre_migrate agus:func: ~django.db.models.signals.post_migrate a n-imirce plean` agus
appsanois.
SamhlaLink to this heading
Déantar eochracha eachtracha droim ó mhúnlaí seachfhreastalaí a iomadú anois Tá an gaol droim atá ceangailte ag a:class: ~Django.db.Models.ForeignKey ag díriú ar mhúnla seachfhreastalaí inrochtana anois mar thuairiscitheoir ar an rang samhail seachfhreastaithe agus féadfar tagairt a thabhairt dó i scagadh tacar fiosrúcháin.
Tugann an modh nua:meth: Field.rel_DB_type () <django.db.models.Field.rel_db_type>`cineál sonraí colún bunachar sonraí do réimsí mar `ForeignKey` agus
OneTooneFielda thugann pointe chuig réimse eile.Cuirtear tréith aicme:attr: ~django.db.models.func.arity leis a:class: ~django.db.models.func. Is féidir an tréith seo a úsáid chun líon na n-argóintí a ghlacann an fheidhm a shocrú.
Cuireadh leis: Class: ~Django.db.Models.BigAutoField a fheidhmíonn cosúil leis an:class: ~django.db.models.autofield ach amháin go bhfuil sé ráthaithe go n-oirfidh sé uimhreacha ó
1go 9223372036854775807`.QuerySet.in_bulk()may be called without any arguments to return all objects in the queryset.related_query_namenow supports app label and class interpolation using the'%(app_label)s'and'%(class)s'strings.Ceadaítear sár-réimsí samhla a fuarthas le hoidhreacht ó bhunaicmí teibí.
Is API poiblí anois é an fheidhm:func: ~django.db.models.prefetch_related_objects.
QuerySet.bulk_create()sets the primary key on objects when using PostgreSQL.Cuireadh feidhm bunachar sonraí: class: ~django.db.models.functions.cast leis.
Féadfaidh samhail seachfhreastalaí teacht le hoidhreacht anois ar mhúnlaí seachfhreastalaí iolracha a roinneann aicme tuismitheora neamhtheibí coitianta.
Cuireadh leis: Class: ~Django.db.Models.Functions.Extract feidhmeanna chun comhpháirteanna dáta-ama a bhaint mar shláimhreacha, mar shampla bliain agus uair an chloig.
Cuireadh leis: Class: ~Django.db.Models.Functions.Trunc feidhmíonn dáta nó dáta-am a ghearradh go comhpháirt shuntasach. Cumasaíonn siad ceisteanna mar dhíolacháin in aghaidh an lae nó díolacháin in aghaidh na huaire.
``Samhail. Socraíonn __init__ () ``luachanna réimsí fíorúla anois óna argóintí eochairfhocal.
<django.db.models.Options.default_manager_name>Ceadaíonn na roghanna nua:attr: Meta.Base_Manager_name `agus:attr: `Meta.Default_Manager_name<django.db.models.Options.base_manager_name> an: attr: ~django.db.models.model a rialú. _base_manager agus:attr: ~Django.db.Models.Model. _default_manager, faoi seach.
Iarrataí agus FreagraíLink to this heading
Cuireadh
request.userleis an radharc dífhabhtaithe.Added
HttpResponsemethodsreadable()andseekable()to make an instance a stream-like object and allow wrapping it withio.TextIOWrapper.Cuireadh na tréithe: attr: HttpRequest.content_type `agus:attr: `~django.http.httpRequest.content_params a pháirsítear ón gceannteideal
CONTENT_TY <django.http.HttpRequest.content_type>PE.Déantar an parser do
Request.cookiesa shimpliú chun iompar brabhsálaí a mheaitseáil níos fearr. D'fhéadfadh go mbeadh fianáin anois ag request.cookies` atá neamhbhailí de réir: rfc: 6265 ach is féidir iad a shocrú trí document.cookie`.
SraitheadhLink to this heading
Tá a fhios ag an django.core.serializers.json.djangojsonEncoder` anois conas teaghráin leisciúil a shraitheadh, a úsáidtear de ghnáth le haghaidh ábhar inaistrithe.
TeimpléidLink to this heading
Cuireadh an rogha
autoescapeleis an:class: ~django.template.backends.django.djangoTemplates cúltaca agus an ranga:class: ~django.template.engine.Cuireadh na hoibreoirí comparáide
is ``agus ``nílleis an gclibe:ttag: `if `.Ceadaí:TFilter: dictsort liosta liostaí a ordú de réir eilimint ag innéacs sonraithe.
Cuimsíonn an próiseálaí comhthéacs: Func: ~django.template.context_processors.debug ceisteanna maidir le gach ainm bunachar sonraí in ionad an ailias réamhshocraithe amháin.
Cuireadh tacaíocht coibhneasta coibhneasta le haghaidh argóintí teaghráin de chlibeanna teimpléad: ttag: extends agus:ttag: include.
TástálachaLink to this heading
Chun fabhtanna a ghabháil níos fearr, seiceálann: class: ~django.test.testcase srianta bunachar sonraí in-iarchurraithe anois ag deireadh gach tástála.
Is féidir le tástálacha agus cásanna tástála a bheith: ref: marcáilte le clibeanna <topics-tagging-tests>`agus rith go roghnach leis na roghanna nua:option: `test --tag agus:option: test --exclude-tag.
Is féidir leat logáil isteach anois agus seisiúin a úsáid leis an gcliant tástála fiú mura bhfuil: mod: django.contrib.sessions in:setting: INSTALLED_APPS.
URLannaLink to this heading
An addition in
django.setup()allows URL resolving that happens outside of the request/response cycle (e.g. in management commands and standalone scripts) to takeFORCE_SCRIPT_NAMEinto account when it is set.
BailíochtóiríLink to this heading
URLValidatornow limits the length of domain name labels to 63 characters and the total length of domain names to 253 characters per RFC 1034.int_list_validator()now accepts an optionalallow_negativeboolean parameter, defaulting toFalse, to allow negative integers.
Athruithe neamh-chomhoiriúnacha ar ais i 1.10Link to this heading
API cúltaca bunachar sonraíLink to this heading
Úsáideann “Areafield” GIS cineál uimhriúil bunúsach neamhshonraithe a d'fhéadfadh a bheith i gcleachtas aon chineál uimhriúil Python. Déantar luachanna
Decimal.Decimala aisghabháiltear ón mbunachar sonraí a thiontú anois gofloatchun go mbeidh sé níos éasca iad a chomhcheangal le luachanna a úsáideann na leabharlanna GIS.D'fhonn gearradh ama a chumasú ní mór duit bratach gné bunachar sonraí
supports_temporal_subtractiona shocrú goTrueagus an modhDatabaseOperations.subtract_temporals ()a chur i bhfeidhm. Ba cheart don mhodh seo an SQL agus na paraiméadair a theastaíonn chun an difríocht i micreasoicind idir na hargóintí lhs` agus rhs` a ríomh sa chineál sonraí a úsáidtear chun stóráil:class: ~Django.db.Models.DurationField a ríomh.
Tugann ``_meta.get_fields () ``réimsí comhsheasmhacha droim ar ais do mhúnlaí seachfhreastalaíLink to this heading
Roimh Django 1.10, chuir an modh: meth: ~django.db.models.options.options.get_fields réimsí droim éagsúla ar ais nuair a ghlaoigh sé ar mhúnla seachfhreastalaí i gcomparáid lena aicme coincréite seachfhála. Socraíodh an neamhréireacht seo tríd an tsraith iomlán réimsí a thabhairt ar ais ag díriú ar aicme coincréite nó ar cheann dá sheirbhísí sa dá chás.
<django.contrib.auth.models.User.username>:attr: `Abstractuser.username ```max_length ``méadaithe go 150Link to this heading
Tá imirce le haghaidh: attr: django.contrib.auth.models.user.userName san áireamh. Má tá samhail úsáideora saincheaptha agat ag oidhreacht ó ``AbstractUser`, beidh ort imirce bunachar sonraí a ghiniúint agus a chur i bhfeidhm do do mhúnla úsáideora.
We considered an increase to 254 characters to more easily allow the use of
email addresses (which are limited to 254 characters) as usernames but rejected
it due to a MySQL limitation. When using the utf8mb4 encoding (recommended
for proper Unicode support), MySQL can only create unique indexes with 191
characters by default. Therefore, if you need a longer length, please use a
custom user model.
Más mian leat an teorainn 30 carachtar d'ainmneacha úsáideora a chaomhnú, bain úsáid as foirm saincheaptha agus úsáideoir á chruthú agat nó agus ainmneacha úsáideora á athrú agat:
from django.contrib.auth.forms import UserCreationForm
class MyUserCreationForm(UserCreationForm):
username = forms.CharField(
max_length=30,
help_text="Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.",
)
Más mian leat an srian seo a choinneáil sa riarachán, socraigh ``UserAdmin.Add_Form ``chun an fhoirm seo a úsáid:
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User
class UserAdmin(BaseUserAdmin):
add_form = MyUserCreationForm
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Tacaíocht titim do PostgreSQL 9.1Link to this heading
Críochnaíonn tacaíocht suas srutha do PostgreSQL 9.1 i Meán Fómhair 2016. Mar thoradh air sin, leagann Django 1.10 PostgreSQL 9.2 mar an leagan íosta a thacaíonn sé go hoifigiúil.
Téann aschur ``runserver ``trí logáilLink to this heading
Seoltar láimhseáil iarratais agus freagartha an ordaithe runserver chuig an logger:ref: django-server-logger in ionad chuig sys.stderr`. Má dhíchumraíonn tú cumraíocht logála Django nó má dhíchumraíonn tú é le do chuid féin, beidh ort an chumraíocht logála cuí a chur leis más mian leat an t-aschur sin a fheiceáil:
LOGGING = {
# ...
"formatters": {
"django.server": {
"()": "django.utils.log.ServerFormatter",
"format": "[%(server_time)s] %(message)s",
}
},
"handlers": {
"django.server": {
"level": "INFO",
"class": "logging.StreamHandler",
"formatter": "django.server",
},
},
"loggers": {
"django.server": {
"handlers": ["django.server"],
"level": "INFO",
"propagate": False,
}
},
}
Baineadh samhlacha tástála Auth.CustomUser` agus Auth.ExtensionUserLink to this heading
Ó tugadh isteach imirce do na feidhmchláir contrib i Django 1.8, níor cruthaíodh táblaí na samhlacha tástála úsáideora saincheaptha seo a thuilleadh rud a fhágann go bhfuil siad neamhúsáidte i gcomhthéacs tástála.
Ní dhéantar clárlann apps go huathoibríoch a thuilleadh nuair a dhíphictear samhlacha lasmuighLink to this heading
Níl clárlann na n-aipeanna daonra go huathoibríoch a thuilleadh agus samhlacha á Cuireadh é seo leis i Django 1.7.2 mar iarracht samhlacha neamhphicilte a cheadú lasmuigh de Django, mar shampla in oibrí RQ, gan glaoch ar ``django.setup () , ach cruthaíonn sé an fhéidearthacht go mbeadh caoileadh ann. Chun do chód a oiriúnú i gcás RQ, is féidir leat `scriptúr oibrí féin a sholáthar `_ a ghlaonn ``django.setup (< https://python-rq.org/docs/workers/>) `.
Seiceáil sannadh neall bainte le haghaidh príomhréimsí eachtracha neamh-Link to this heading
I leaganacha níos sine, a shannadh None do ForeignKey` neamh-neamh-neamhrialaithe nó OneTooneField ardaithe ``ValueError ('Ní féidir Aon a shannadh: ní cheadaíonn “model.field” luachanna null. ') ``. Le haghaidh comhsheasmhachta le réimsí samhlacha eile nach bhfuil seiceáil den chineál céanna acu, baintear an seiceáil seo.
Bainte hashers pasfhocal lag ón socrú réamhshocraithe PASSWORD_HASHERSLink to this heading
Stóráilte pasfhocail Django 0.90 mar MD5 neamh-shailte. Chuir Django 0.91 tacaíocht le haghaidh SHA1 saillte le pasfhocail a uasghrádú uathoibríoch nuair a logálann úsáideoir isteach. Chuir Django 1.4 PBKDF2 leis mar an hasher pasfhocal réamhshocraithe.
If you have an old Django project with MD5 or SHA1 (even salted) encoded
passwords, be aware that these can be cracked fairly easily with today's
hardware. To make Django users acknowledge continued use of weak hashers, the
following hashers are removed from the default PASSWORD_HASHERS
setting:
"django.contrib.auth.hashers.SHA1PasswordHasher""django.contrib.auth.hashers.MD5PasswordHasher""django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher""django.contrib.auth.hashers.UnsaltedMD5PasswordHasher""django.contrib.auth.hashers.CryptPasswordHasher"
Smaoinigh ar a:ref: phasfhocal fillte hasher <wrapping-password-hashers>`a úsáid chun na hashes i do bhunachar sonraí a neartú. Mura bhfuil sé sin indéanta, cuir an socrú:setting: `PASSWORD_HASHERS le do thionscadal agus cuir aon hashers a theastaíonn uait ar ais.
Is féidir leat a sheiceáil an bhfuil aon cheann de na hashers bainte mar seo ag do bhunachar sonraí:
from django.contrib.auth import get_user_model
User = get_user_model()
# Unsalted MD5/SHA1:
User.objects.filter(password__startswith="md5$$")
User.objects.filter(password__startswith="sha1$$")
# Salted MD5/SHA1:
User.objects.filter(password__startswith="md5$").exclude(password__startswith="md5$$")
User.objects.filter(password__startswith="sha1$").exclude(password__startswith="sha1$$")
# Crypt hasher:
User.objects.filter(password__startswith="crypt$$")
from django.db.models import CharField
from django.db.models.functions import Length
CharField.register_lookup(Length)
# Unsalted MD5 passwords might not have an 'md5$$' prefix:
User.objects.filter(password__length=32)
Baintear modhanna Field.get_prep_lookup () ``agus ``Field.get_db_prep_lookup ()Link to this heading
Má tá réimse saincheaptha agat a chuireann ceachtar de na modhanna seo i bhfeidhm, cláraigh cuardach saincheaptha dó. Mar shampla:
from django.db.models import Field
from django.db.models.lookups import Exact
class MyField(Field): ...
class MyFieldExact(Exact):
def get_prep_lookup(self):
# do_custom_stuff_for_myfield
...
MyField.register_lookup(MyFieldExact)
django.contrib.gisLink to this heading
Titear tacaíocht do SpatiaLite <3.0 agus GEOS <3.3.
Baintear an ailias comhoiriúnachta
add_postgis_srs () ``ar chúl do `django.contrib.gis.utils.add_srs_entry ().Ar Oracle/GIS, filleann an fheidhm chomhiomlán:: class: ~django.contrib.gis.db.Models.Functions.Area
floatanois in ionadDecimal.Decimal. (Tá sé fós fillte i dtomhas méadar cearnach.)Déantar an ionadaíocht réamhshocraithe: class: ~django.contrib.gis.geos.geosgeometry (aschur WKT) a ghearradh de réir réamhshocraithe. Is é sin, in ionad
POINT (23.0000000000000000 5.5000000000000000) ``, gheobhaidh tú ``POINT (23 5.5).
Tá uasmhéid comhlachta iarratais agus líon na bparaiméadair GET/POST teorantaLink to this heading
Cuidíonn dhá shocrú nua le hionsaithe diúltaithe seirbhíse a mhaolú trí iarratais mhóra:
DATA_UPLOAD_MAX_MEMORY_SIZElimits the size that a request body may be. File uploads don't count toward this limit.DATA_UPLOAD_MAX_NUMBER_FIELDSlimits the number of GET/POST parameters that are parsed.
Seans go mbeidh ar iarratais a fhaigheann postanna foirmeacha neamhghnácha móra na socruithe seo a choigeartú.
IlghnéitheachLink to this heading
<QuerySet >Tá an repr () ``de `QuerySet` fillte i`` ``chun é a dhíbhriú ó liosta simplí agus é á dífhabhtú.
``utils.version.get_version () filleadh: pep: leaganacha iarrthóirí scaoilte comhlíontacha `440 (m.sh. '1.10rc1' in ionad '1.10c1').
Ceanglaítear anois gur teaghráin de 64 alfa-uimhriúla iad luachanna dearbháin CSRF; cuirtear teaghráin de 64 carachtar in ionad luachanna 32 alfa-uimhriúla, mar atá socraithe ag leaganacha níos sine de Django de réir réamhshocraithe. Meastar luachanna eile a bheith neamhbhailí. Níor cheart go ndéanfadh sé seo difear ach d’fhorbróirí nó d’úsáideoirí a athsholáthróidh na comharthaí seo.
Baintear an socrú
LOGOUT_URL` toisc nár bhain Django úsáid as ó roimh 1.0. Má úsáideann tú é i do thionscadal, is féidir leat é a chur le socruithe do thionscadail. Ba é an luach réamhshocraithe ná ``'/cuntais/logáil/'.Tá rudaí le modh
close () ``mar chomhaid agus gineadóirí a chuirtear chuig: class: `~django.http.httpResponse` dúnta anois láithreach in ionad nuair a ghlaonn an freastalaí WSGI ``close ()ar an bhfreagra.Baintear glao iomarcach
transaction.atomic () ``i `QuerySet.Update_or_create (). D'fhéadfadh sé seo dul i bhfeidhm ar chomhaireamh ceisteanna a ndearnadh tástáil ag ``TransactionTestCase.assertNumQueries () ``.Baintear tacaíocht do skip_validation` i
BaseCommand.execute (**roghanna) ``. Úsáid ``skip_checks(cuireadh i Django 1.7) ina ionad.: djadmin: Ardaíonn loaddata
CommandErroranois in ionad rabhadh a thaispeáint nuair nach bhfaightear an comhad daingneáin sonraithe.In ionad rochtain a fháil go díreach ar an tréith
Logentry.change_message, is fearr anois glaoch ar an modh ``Logentry.get_change_message () ``a sholáthróidh an teachtaireacht sa teanga reatha.Ardaíonn na tuairimí earráide réamhshocraithe
TemplateDoesNotExistanois má shonraíteartemplate_namenach bhfuil ann.Baintear an argóint eochairfhocal
roghnaí` neamhúsáidte den mhodh ``RelectagusSelectMultiplerender () ``giuirléidí ``Render ()`. Baintear an argóintroghnaden mhodhrender_options () ``freisin, rud a fhágann go bhfuil `roghnaí_roghnaithean chéad argóint.Déanfaidh tástálacha a sháraíonn srianta bunachar sonraí in-iarchurtha earráid anois nuair a reáchtáiltear iad ar bhunachar sonraí a thacaíonn le srianta in-iarchurtha.
Úsáideann orduithe bainistíochta ionsuite anois innéacsú eochracha i “roghanna”, m.sh.
options ['verbosity'] ``, in ionad ``options.get ()agus ní dhéanann siad aon chineál comhéigeantach a thuilleadh. D'fhéadfadh sé seo a bheith ina fhadhb má tá tú ag glaoch orduithe ag baint úsáide asCommand.execute () ``(a sheachnaíonn an parser argóint a leagann luach réamhshocraithe) in ionad:func: `~django.core.management.call_command`. In ionad glaoch ar ``Command.execute () ``, pas an réad ordaithe mar an chéad argóint chuig ``call_command ().Diúltaíonn: ~django.contrib.auth.backends.modelBackend agus:class: ~django.contrib.auth.backends.remoteUserBackend úsáideoirí neamhghníomhacha anois. Ciallaíonn sé seo nach féidir le húsáideoirí neamhghníomhacha logáil isteach agus logálfar amach iad má aistrítear iad ó
is_active=truegoFalse. Má theastaíonn an t-iompar roimhe seo uait, bain úsáid as an nua:class: ~django.contrib.auth.backends.allowAllUsersModelBackend nó:class: ~django.contrib.auth.backends.allowAllUsersRemoteUserBackend in:setting: AUTHENTICATION_BACKENDS ina ionad.In light of the previous change, the test client's
login()method no longer always rejects inactive users but instead delegates this decision to the authentication backend.force_login()also delegates the decision to the authentication backend, so if you're using the default backends, you need to use an active user.django.views.i18n.set_language()may now return a 204 status code for AJAX requests.The
base_fieldattribute ofRangeFieldis now a type of field, not an instance of a field. If you have created a custom subclass ofRangeField, you should change thebase_fieldattribute.Cuirtear ranganna Middleware a thionscnamh anois nuair a thosaíonn an freastalaí seachas le linn na chéad iarratais.
<user-is-auth-anon-deprecation>Má sháraitheann tú
is_autentifikated () ``nó ``is_anonymné ()i samhail úsáideora saincheaptha, ní mór duit iad a thiontú go tréithe nó airíonna mar a thuairiscítear in:ref: `an nóta dímheasa `.Nuair a úsáidtear: attr: ModelAdmin.save_ <django.contrib.admin.ModelAdmin.save_as>as = True `, atreoraíonn an cnaipe “Sábháil mar nua” anois chuig an radharc athraithe don réad nua in ionad chuig liosta athraithe an tsamhail. <django.contrib.admin.ModelAdmin.save_as_continue>Má theastaíonn an t-iompar roimhe seo uait, socraigh an tréith nua:attr: `ModelAdmin.save_as_continue `do `False`.
Tá an tréith HTML “riachtanach” ag réimsí foirme riachtanacha anois. <django.forms.Form.use_required_attribute>Socraigh an tréith: attr: Form.USE_Required_Attribute `le `False` chun é a dhíchumasú. D'fhéadfá an tréith
novalidatea chur le ```` mura dteastaíonn bailíochtú brabhsála <form>í uait. <django.forms.Widget.use_required_attribute>Chun an tréithriachtana dhíchumasú ar ghuirléidí saincheaptha, athsháraigh an modh:meth: `Widget.USE_REQUIRED_ATTRIBUTE () `.Ní bhaineann an láimhseálaí WSGI ábhar na bhfreagraí a thuilleadh ó iarratais nó freagraí
HEAD` le ``status_codede 100-199, 204, nó 304. Cuireann an chuid is mó de na freastalaithe gréasáin an t-iompar seo Leanann na “socruithe freagartha” seo i bhfeidhm ag freagraí a aisghabhadh ag úsáid cliant tástála Django.Samhail. Faigheann __init__ () ```Django.db.Models.Deferredanois mar luach na réimsí iarchurtha.An
Samhail. Baintear tréith _athraingthe ``mar aicmí samhail dinimiciúla nuair a úsáidtear ``querySet.Defer ()agus ``only () ``baintear.Storage.save()no longer replaces'\'with'/'. This behavior is moved toFileSystemStoragesince this is a storage specific implementation detail. Any Windows user with a custom storage implementation that relies on this behavior will need to implement it in the custom storage'ssave()method.Príobháideach:Class: ~django.db.models.filefield ní thuilleadh ar mhodhanna
get_directory_name () ``agus `get_filename ()a thuilleadh (agus tá siad curtha anois) ar athrú neamh-chomhoiriúnach é d'úsáideoirí a sháraíonn na modhanna sin ar réimsí saincheaptha. <django.core.files.storage.Storage.generate_filename>Chun an cód den sórt sin a oiriúnú, déan filefield.generate_filename () ```nó: meth: `Storage.generate_filename () ina ionad. B'fhéidir go mbeadh sé indéanta a úsáid:attr: ~django.db.models.filefield.upload_to freisin.Ní ghearrtar ábhar an phoist a sheolann
AdminEmailHandlerag 989 carachtar a thuilleadh. Má bhí tú ag brath ar fad teoranta, déan an t-ábhar a ghearradh ort féin.Baintear abairtí príobháideacha
Django.db.Models.Expressions.Dateagus DateTime`. Soláthraíonn na nathanna nua:class: ~django.db.models.functions.trunc an fheidhmiúlacht chéanna.Baintear na tréithe
_base_manageragus_default_manageró chásanna samhail. Tá siad inrochtana ar an rang samhail.Ag rochtain a fháil ar réimse scriosta ar shampla samhail, m.sh. tar éis
del obj.field, luach an réimse a athluchtú in ionadAttributeErrora ardú.Má dhéanann tú fo-aicme
AbstractBaseUseragus má sháraíonn túclean () ``, bí cinnte go nglacann sé ``super (). :meth: Glaítear .AbstractBaseUser.Normalize_UserName i modh nua:meth: .AbstractBaseUser.clean.Tugann API príobháideach
django.forms.models.model_to_dict () ``tacar fiosrúcháin seachas liosta de na príomheochracha do ``ManyTomanyFields.Má tá django.contrib.staticfiles` suiteáilte, úsáideann an clib teimpléad:ttag: static an stóráil
staticfileschun an URL a thógáil seachas an luach a cheangal le STATIC_ROOT`. Ionchódaíonn an cur chuige nua an URL, a d'fhéadfadh a bheith comhoiriúnach ar chúl i gcásanna amhail blúire a áireamh i gcosán, m.sh.{% static 'img.svg #fragment'%} `, ós rud é go bhfuil an `#ionchódaithe mar %23`. Chun oiriúnú, bog an blúire lasmuigh den chlib teimpléad:{% static 'img.svg'%} #fragment.Nuair a bhíonn
USE_L10NTrue, cuirtear logánú i bhfeidhm anois ar na scagairí:tfilter: dáta agus:tfilter: time nuair nach sonraítear aon teaghrán formáide. Úsáidtear na sonraitheoiríDATE_FORMATagusTIME_FORMATón áitear gníomhach in ionad na socruithe den ainm céanna.
Gnéithe atá díscríofa i 1.10Link to this heading
Sannadh díreach le heochair eachtrach droim nó gaol go leorLink to this heading
In ionad rudaí gaolmhara a shannadh ag úsáid sannadh díreach:
>>> new_list = [obj1, obj2, obj3]
>>> e.related_set = new_list
Úsáid an modh: meth: ~django.db.models.fields.related.relatedManager.set curtha leis i Django 1.9:
>>> e.related_set.set([obj1, obj2, obj3])
Cuireann sé seo cosc ar mhearbhall faoi shannadh mar thoradh ar shábháil intuigthe.
Neamh-Time-Area: Class: ~django.core.files.storage.storage APILink to this heading
Tá na sean-mhodhanna, neamh-eolach ar chrios ama accsed_time () ``, `created_time (), agus modified_time () `, modhnaithe () ``a dhíchur i bhfabhar na modhanna nua ``get_*_time ()`.
Ba chóir go gcuirfeadh cúltaca stórála tríú páirtí na modhanna nua a chur i bhfeidhm agus na seancinn a mharcáil Go dtí sin, déanann na modhanna nua get_*_time () ``ar an mbon:class: `~django.core.files.storage` a thiontú ``datetimes ó na sean-mhodhanna de réir mar is gá agus scaoileann siad rabhadh dipraiticiúcháin de réir mar a dhéanann siad amhlaidh.
Féadfaidh cúltaca stórála tríú páirtí na sean-mhodhanna a choinneáil chomh fada agus is mian leo tacú le leaganacha níos luaithe de Django.
django.contrib.gisLink to this heading
Tá na modhanna
get_srid () ``agus `set_srid ()de:class: ~django.contrib.gis.geos.geosgeometry i bhfabhar na maoine: attr: ~django.contrib.gis.geos.geosgeometry.srid.Tá na modhanna
get_x () ``, `set_x (), get_y () `, set_y ()`, get_z () `, agusset_z ()modhanna de:class: ~django.contrib.gis.geos.point i bhfabhar anx' Airíonna ``, ``y, agusz.Tá na modhanna
get_coords () ``agus `set_coords ()de:class: ~django.contrib.gis.geos.point i bhfabhar na maoinetuple.Tá an maoin cascaded_union` de:class: ~django.contrib.gis.geos.multipolygon a dhíchur i bhfabhar na maoine: attr: ~django.contrib.gis.geos.geosgeometry.unary_union.
Tá an fheidhm ``django.contrib.gis.utils.precision_wkt () díluaite i bhfabhr:class: `~django.contrib.gis.geos.wktWriter.
Réimse samhail CommaseParatedIntegerFieldLink to this heading
Tá CommaseParatedIntegerField díscoite i bhfabhr:class: ~django.db.models.charfield leis an bailíochtaí:func: ~django.core.validators.validate_comma_separated_integer_list bailíochtaithe:
from django.core.validators import validate_comma_separated_integer_list
from django.db import models
class MyModel(models.Model):
numbers = models.CharField(..., validators=[validate_comma_separated_integer_list])
Má tá Oracle á úsáid agat, úsáideann Charfield cineál réimse bunachar sonraí difriúil (NVARCHAR2) ná CommaseParatedIntegerField (VARCHAR2). Ag brath ar do shocruithe bunachar sonraí, d'fhéadfadh sé seo ionchódú difriúil a thabhairt le tuiscint, agus dá bhrí sin fad difriúil (i mbetaí) don ábhar céanna. Má tá do luachanna stóráilte níos faide ná an teorainn 4000 beit de NVARCHAR2, ba chóir duit Textfield (NCLOB`) a úsáid ina ionad. Sa chás seo, má tá aon cheisteanna agat a ghrúpaíonn de réir an réimse (m.sh. anótáil a dhéanamh ar an tsamhail le comhiomlánú nó ag baint úsáide as `difriúil () `) beidh ort iad a athrú (chun an réimse a chur siar).
Cuardach ceisteanna __searchLink to this heading
Tá an cuardach chuardach, a thacaíonn le MySQL amháin agus atá thar a bheith teoranta i ngnéithe, míshuanta. Cuardach saincheaptha in ionad é:
from django.db import models
class Search(models.Lookup):
lookup_name = "search"
def as_mysql(self, compiler, connection):
lhs, lhs_params = self.process_lhs(compiler, connection)
rhs, rhs_params = self.process_rhs(compiler, connection)
params = lhs_params + rhs_params
return "MATCH (%s) AGAINST (%s IN BOOLEAN MODE)" % (lhs, rhs), params
models.CharField.register_lookup(Search)
models.TextField.register_lookup(Search)
Ag baint úsáide as User.is_Authenticated () ``agus ``User.is_Anonymous () mar mhodhannaLink to this heading
Is airíonna anois iad na modhanna is_autenticated () ``agus ``is_anonymus () de:class: ~django.contrib.auth.models.abstractBaseUser agus:class: ~django.contrib.auth.models.anonymousUser aicmí anois. Oibreoidh siad fós mar mhodhanna go dtí Django 2.0, ach úsáideann gach úsáid i Django rochtain tréithe anois.
Mar shampla, má úsáideann tú: class: ~django.contrib.auth.middleware.AuthenticationMiddleware agus má theastaíonn uait a fháil amach an bhfuil an t-úsáideoir logáilte isteach faoi láthair bheadh úsáid as:
if request.user.is_authenticated:
... # Do something for logged-in users.
else:
... # Do something for anonymous users.
in ionad ``request.user.is_autenticated () ``.
Seachnaíonn an t-athrú seo sceitheadh faisnéise de thaisme má dhéanann tú dearmad glaoch ar an modh, m.sh.:
if request.user.is_authenticated:
return sensitive_information
Má sháraíonn tú na modhanna seo i samhail úsáideora saincheaptha, ní mór duit iad a athrú go hairíonna nó tréithe.
Úsáideann Django réad CallableBool chun ligean do na tréithe seo oibriú mar mhaoin agus mar mhodh araon. Dá bhrí sin, go dtí go gcríochnaíonn an tréimhse díghabhála, ní féidir leat na hairíonna seo a chur i gcomparáid ag baint úsáide as an oibreoir Is é sin, ní oibreoidh an méid seo a leanas:
if request.user.is_authenticated is True:
...
An leath “éalaithe” de django.utils.safestring`Link to this heading
Tá an fheidhm mark_for_escaping () ``agus na haicmí a úsáideann sé: ``EscapeData, EscapeBytes`, EscapeText`, EscapeString`, agus EscapeUnicode dímheasta.
Mar thoradh air sin, tá iompar “leisciúil” an scagaire ``éalaithe ``(áit a chuirfí i bhfeidhm é i gcónaí mar an scagaire deireanach is cuma cá raibh sé le feiceáil sa slabhra scagaire) a dhíchur. Athróidh an scagaire chun cur i bhfeidhm láithreach:func: ~django.utils.html.conditional_escape i Django 2.0.
IlghnéitheachLink to this heading
Tá an rogha
makemigrations --exita dhíchur i bhfabhar an rogha: makemigrations --check.Tá ``django.utils.functional.allow_lazy () ``díluaite i bhfabhar an fheidhm nua:func: ~django.utils.functional.keep_lazy is féidir a úsáid le comhréir maisiúcháin níos nádúrtha.
Tá an rogha
shell --plain ``a dhíchur i bhfabhar ``-i pythonnó--interface python.Tá allmhairiú ón modúl
django.core.urlresolversa dhíchur i bhfabhar a shuíomh nua, :mod: django.urls.Tá an modh teimpléad
Context.has_key () ``a dhíchur i bhfabhar ``in.An tréith phríobháideach
virtual_fieldsde Samhail. Tá _meta` a dhíchur i bhfabharpríobháideach_fields.Na hargóintí eochairfhocal príobháideacha
virtual_onlyi field.contribute_to_class () ``agus ``virtual` i Samhail. Tá _meta.add_field () ``a dhíchur i bhfabhar ``príobháideach_only` agus ``príobháideach`, faoi seach.Tá na tuairimí javascript_catalog () ``agus ``json_catalog ()` a dhíchur i bhfabhar radhairc ranga-bhunaithe: class: ~django.views.i18n.javascriptCatalog agus:class: ~django.views.i18n.jsonCatalog.
In oidhreacht il-tábla, cuirtear cur chun cinn intuigthe
OneToonefieldgo parent_link` a chur chun cinn intuigthe. Cuirparent_link=Truele réimsí den sórt sin.An API príobháideach ``Giuirléid. Déantar _format_value () ``a phoiblí agus athainmnítear u:meth: ~django.forms.widget.format_value. Oibreoidh an sean-ainm trí thréimhse díghabhála.
Private
FileFieldmethodsget_directory_name()andget_filename()are deprecated in favor of performing this work inStorage.generate_filename().Tá meán-earraí sean-stíl a úsáideann
Settings.middleware_classesa dhíchur. :ref: Cuir sean-mheánearraí saincheaptha in oiriúint `agus ba <upgrading-middleware>in úsáid as an socrú nua:setting: `MIDDLEWARE.
Gnéithe bainte i 1.10Link to this heading
Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 1.10. Féach: Ref: deprecated-features-1.8 le haghaidh sonraí, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.
Baintear tacaíocht chun glaoch ar
SQLCompilergo díreach mar ainm chun a mhodhquote_name_unless_aliasa ghlaoch.Baintear na clibeanna teimpléad
timthriall` agus ``firstofón leabharlann clibeanna teimpléadtodhcha.Baintear tacaíocht don argóint
prefixchuig ``django.conf.urls.i18n.i18n_patterns () ``.Baintear
SimpletestCase.urls.Ardaíonn comhaireamh mícheart luachanna neamhphacáilte sa chlib teimpléad
foreisceacht seachas teip go ciúin.Baintear an cumas:func: ~django.urls.reverse URLanna ag baint úsáide as cosán poncaí Python.
Baintear an cumas cosán poncaigh Python a úsáid do na socruithe
LOGIN_URLagusLOGIN_REDIRECT_URL.Titeann tacaíocht do optparse` le haghaidh orduithe bainistíochta saincheaptha.
Baintear an rang
Django.Core.Management.NoArgsCommand.Baintear modúl
django.core.context_processors.Baintear modúl
django.db.models.sql.aggregates.Baintear modúl
django.contrib.gis.db.models.sql.aggregates.Baintear na modhanna agus na hairíonna seo a leanas de Django.db.sql.query.query`:
Airíonna:
aggregatesagusaggregate_selectModhanna:
add_aggregate, set_aggregate_mask`, agusappend_aggregate_mask.
Baintear
django.template.resolve_variable.Baintear na APIs príobháideacha seo a leanas ó:class: Django.db.Models.Options.Options (
Model. _meta):``get_field_by_ainm () `
``faigh_all_field_ainmneacha () `
``faigh_fields_with_model () ``
``faigh_réimsí coincréite_with_model () `
``get_m2m_with_model () `
``faigh_all_earra_bhainteach_() `
``Faigh_rudaí gaolmhaithe_le_samhail () `
``faigh_all_bhainteach_go leor le go leor rudaí () `
``faigh_all_gaol_m2m_rudaí_le_samhail () `
Baintear an argóint
error_messagede django.forms.regexfield`.Ní thacaíonn an scagaire
unordered_listle seanliostaí stíl a thuilleadh.Baintear tacaíocht d'argóintí teaghrán
viewchuig url () `.An shim comhoiriúnach ar chúl chun
Django.Forms.form a athainmniú. Baintear _has_modified () ``go ``has_changes ().Baintear na feidhmeanna
remove_tags () ``agus `strip_entity ()i django.utils.html`.Baintear an argóint
is_admin_sitele ``django.contrib.auth.views.password_reset () ``.Baintear
django.db.models.field.subclassing.subfieldbase.Baintear
django.utils.checksums.Baintear an tréith
original_content_type_idar Django.contrib.admin.helpers.inlineAdminForm`.Baintear an shim comhoiriúnachta ar ais chun ligean do
formMixin.get_form () ``a shainiú gan aon luach réamhshocraithe dá argóint ``form_class.Baintear na socruithe seo a leanas, agus ní mór duit uasghrádú a dhéanamh chuig an socrú:setting: TEMPLATES:
CEADÁIL_INCLUDE_FRÉAMHPRÓISEÁLAITHE COMHTHÉACS TEIMPLÉADTEMPLATE_DEBUGTEIMPLÉAD_DIRSTEIMPLÉ_LOADERSTEIMPLÉAD_STRING_IFE_NEAMHBHAILÍ
Baintear an alias comhoiriúnachta ar chúl
Django.Template.Loader.Django template objects returned by
get_template()andselect_template()no longer accept aContextin theirrender()method.Template response APIs enforce the use of
dictand backend-dependent template objects instead ofContextandTemplaterespectively.Baintear an paraiméadar
current_appdon fheidhm agus na ranganna seo a leanas:Baintear na paraiméadair
foclóireaguscontext_instancedo na feidhmeanna seo a leanas:Baintear an paraiméadar dirs` do na feidhmeanna seo a leanas:
Cumasaítear fíorú seisiúin beag beann cibé an bhfuil
DJANGO.contrib.auth.middleware.SessionAuthenticationMiddleware'` i `MIDDLEWARE_CLASSESnó nach bhfuil. Níl aon chuspóir ag SessionAuthenticationMiddleware` a thuilleadh agus is féidir é a bhaint as MIDDLEWARE_CLASSES. Coinnítear é mar stub go dtí Django 2.0 mar chúirtéis d'úsáideoirí nach léann an nóta seo.Baintear tréith príobháideach
Django.db.Models.Field.Related.Baintear an rogha
--listden ordú bainistíochtaimirce.Baintear an chlib teimpléad
ssi.Baintear tacaíocht don oibreoir comparáide
=sa chlib teimpléad ``if ``.Baintear na cinn comhoiriúnachta ar chúl chun ligean
Storage.get_available_name () ``agus ``Storage.save ()a shainiú gan argóintmax_long.Baintear tacaíocht don chomhréir oidhreachta
% (<foo>) si ModelFormMixin.Success_URL`.Baintear modhanna comhiomlána
GeoquerySet ``bailiú () ``, `méid (), extent3d () `,make_line (), agusunionagg () `.Baintear an cumas
ContentType.Namea shonrú agus sampla cineál ábhair á chruthú.Baintear tacaíocht do sheanshíniú
allow_migrate.Baintear tacaíocht do chomhréir
{% cycle%}a úsáideann argóintí scartha le camóg.Is é an rabhadh go n-eisíodh: class: ~django.core.signing.signer nuair a thugtar deighilteoir neamhbhailí ina
ValueErroranois.