Nótaí scaoilte Django 2.1Link to this heading
1 Lúnasa, 2018
Fáilte go dtí Django 2.1!
Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua <whats-new-2.1>, chomh maith le roinnt: ref: athruithe neamh-chomhoiriúnacha ar chúl<backwards-incompatible-2.1> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 2.0 nó níos luaithe. <deprecated-features-2.1>Chuireamar: Ref: thit roinnt <removed-features-2.1>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
Django 2.1 supports Python 3.5, 3.6, and 3.7. Django 2.0 is the last version to support Python 3.4. We highly recommend and only officially support the latest release of each series.
Cad atá nua i Django 2.1Link to this heading
Cead “féach” samhailLink to this heading
<django.db.models.Options.default_permissions>Cuirtear cead “amharc” leis an tsamhail:attr: Meta.default_Permissions `. Cruthófar na ceadanna nua go huathoibríoch agus iad ag rith: djadmin: `migrate.
Ligeann sé seo rochtain léite amháin a thabhairt d'úsáideoirí ar mhúnlaí sa riarachán. :meth: Tá .modeladmin.has_view_permission nua. Tá an cur i bhfeidhm comhoiriúnach ar ais sa mhéid nach gá an cead “amharc” a shannadh chun ligean d'úsáideoirí a bhfuil an cead “athraithe” acu rudaí a chur in eagar.
<view_permission_backwards_incompatible>Tá cúpla de:ref: `breithnithe neamh-chomhoiriúnacha ar ais `.
MionghnéitheLink to this heading
django.contrib.adminLink to this heading
ModelAdmin.search_fieldsnow accepts any lookup such asfield__exact.tá jQuery uasghrádaithe ó leagan 2.2.3 go 3.3.1.
Ligeann an modh nua:meth: .modeladmin.delete_querySet próiseas scriostha na gníomhaíochta “scrios rudaí roghnaithe” a shaincheapadh.
<overriding-default-admin-site>Is féidir leat anois:ref: `an suíomh riaracháin réamhshocraithe a shárú `.
Ligeann an modh nua:attr: .modelAdmin.sortable_by agus:meth: .modelAdmin.get_sortable_by teorannú ar na colúin is féidir a shórtáil ar leathanach an liosta athraithe.
D'fhéadfadh go mbeadh an tréith admin_order_field` le haghaidh eilimintí in:attr: .modelAdmin.list_display anois ina léiriú fiosrúcháin.
The new
ModelAdmin.get_deleted_objects()method allows customizing the deletion process of the delete view and the "delete selected" action.<admin-templates-overridden-per-app-or-model>Is féidir leis na teimpléid
actions.html, change_list_results.html`, date_hierarchy.html`, pagination.html`, prepopulated_fields_js.html`, search_form.html`, agussubmit_line.htmla bheith anois:ref: `athsháraithe in aghaidh an aip nó in aghaidh an tsamhail `(seachas a athsháraítear ar fud an domhain).Is féidir leis an liosta athraithe riaracháin agus na huirlisí réad foirme a athrú anois:ref: athsháraithe in aghaidh an aip, in aghaidh an tsamhail, nó ar fud an domhain `le teimpléid ``change_list_object_tools.html` agus ``change_form_object_tools.html`<admin-templates-overridden-per-app-or-model>`.
InlineModelAdmin.has_add_permission()is now passed the parent object as the second positional argument,obj.Is féidir le gníomhartha riaracháin anois :tag:`ceadanna a shonrú <admin-action-permissions>` chun a infhaighteacht a theorannú d'úsáideoirí áirithe.
django.contrib.authLink to this heading
createsuperusernow gives a prompt to allow bypassing theAUTH_PASSWORD_VALIDATORSchecks.
django.contrib.gisLink to this heading
Is é an modh nua:meth: .geosgeometry.buffer_with_style leagan de:meth: ~.geosgeometry.buffer a cheadaíonn stíl an maoláin a shaincheapadh.
OpenLayersWidgetis now based on OpenLayers 4.6.5 (previously 3.20.1).
django.contrib.sessionsLink to this heading
Cuireadh an socrú:setting: SESSION_COOKIE_SAMESITE leis chun an bratach fianán
SameSitea shocrú ar fhianáin seisiúin.
CacheLink to this heading
Úsáideann an:ref: `cúltaca taisce cuimhne áitiúil <local-memory-caching>`straitéis chaillú (LRU) is lú a úsáidtear le déanaí seachas ceann bréag-randamach.
<low-level-cache-api>Nuashonraíonn an modh nua:meth: ~django.core.cache.touch den: ref: `Leas-leibhéal taisce API `an t-am na heochracha taisce.
CSRFLink to this heading
Cuireadh an socrú: socrú: CSRF_COOKIE_SAMESITE leis chun an bratach fianán
SameSitea shocrú ar fhianáin CSRF.
FoirmeachaLink to this heading
Déanann an giuirléid le haghaidh
ImageFieldanois leis an tréith HTMLaccept="image/*".
IdirnáisiúnúLink to this heading
Cuireadh an fheidhme:meth: ~django.utils.translation.get_supported_language_variant leis.
Úsáideann teaghráin neamhaistrithe le haghaidh leaganacha teanga chríochach aistriúcháin na teanga chineálach Mar shampla, úsáideann teaghráin
pt_brneamhaistrithe aistriúcháinpt.
Orduithe BainistíochtaLink to this heading
Ligeann an rogha nua:option: inspectdb --include-views samhlacha a chruthú le haghaidh tuairimí bunachar sonraí.
Úsáideann an rang:Class: ~Django.Core.Management.BaseCommand formáiditheoir cabhrach saincheaptha anois ionas go mbeidh na roghanna caighdeánacha mar
--verbositynó--settingsle feiceáil dheireanach san aschur cabhrach, ag tabhairt suíomh níos suntasaí do roghanna ordaithe fo-aicmithe.
ImirceLink to this heading
Tacaíocht bhreise le haghaidh sraitheadh rudaí
functools.partialmethod.Chun tacú le timpeallachtaí reoite, féadfar imirce a luchtú ó chomhaid
.pyc.
SamhlaLink to this heading
Is féidir le samhlacha ``__init_subclass__ () ``a úsáid anois ó:pep: 487.
Féadfar
Binaryfielda shocrú anois goeditable=truemás mian leat é a chur san áireamh i bhfoirmeacha samhlacha.Cuirtear roinnt feidhmeanna bunachar sonraí téacs nua leis: :class: ~django.db.models.functions.chr, :class: ~django.db.models.functions.left, :class: ~django.db.models.functions.lpad, :class: ~django.db.models.functions.ltrim, :class: ~django..db.Models.Functions.Ord, :class: ~django.db.models.functions.repeat, :class: ~django.db.models.functions.replace, :class: ~django.db.models.functions.right, :class: ~Django.db.Models.Functions.rpad, :class: ~django.db.db.Models.Functions.rTrim, agus:aicme: ~Django.db.Models.Functions.Trim.
An feidhm nua:class: ~django.db.models.functions.truncWeek truncats:class: ~Django.db.Models.DateField agus:class: ~Django.db.Models.DateTimeField go dtí an Luan seachtaine.
Is féidir nathanna ceisteanna a dhiúltú anois ag baint úsáide as comhartha lúide.
QuerySet.order_by()anddistinct(*fields)now support using field transforms.BooleanFieldcan now benull=True. This is encouraged instead ofNullBooleanField, which will likely be deprecated in the future.Taispeánann an modh nua:meth: .querySet.explain plean forghníomhaithe an bhunachar sonraí ar cheist tacar fiosrúcháin.
: meth: .queryset.raw tacaíonn anois:meth: ~.queryset.prefetch_related.
Iarrataí agus FreagraíLink to this heading
Cuireadh leis: Meth: .httpRequest.get_full_path_info.
Cuireadh an argóint
samesiteleis: meth: .httpResponse.set_cookie chun an bratach fianánSameSitea shocrú.Socraíonn an argóint nua
as_attachmentdo:class: ~django.http.fileResponse an ceannteidealContent-Dispositionchun an brabhsálaí a iarraidh an bhfuil an t-úsáideoir ag iarraidh an comhad a íoslódáil. DéanannFileResponseiarracht na ceannteidilContent-TypeagusContent-Lengtha shocrú nuair is cuí.
TeimpléidLink to this heading
TástálachaLink to this heading
Breise tástáil: class: ~django.test.client tacaíocht do 307 agus 308 atreoraithe.
Déanann an tástála:class: ~django.test.client sraitheach foclóir sonraí iarratais mar JSON má tá
content_type = 'application/json'. Is féidir leat an t-ionchódóir JSON a shaincheapadh le paraiméadar ``json_encoder ``an chliaint tástála.Is leagan níos simplí de:meth: ~UnitTest.TestCase.AssertWarnsMessage an modh nua:meth: ~UnitTest.TestCase.AssertWarnsRegex.
Athruithe neamh-chomhoiriúnacha ar ais i 2.1Link to this heading
API cúltaca bunachar sonraíLink to this heading
Déanann an rannán seo cur síos ar athruithe a d’fhéadfadh a bheith ag teastáil ar dhroim bhunachar sonraí tríú páirtí.
Chun cloí le:pep: 249, athraítear eisceachtaí nuair nach dtacaíonn bunachar sonraí le gné ó:exc: NotImplementederror to:exc: django.db.notSupportedError.
Athainmníodh an bratach gné bunachar sonraí allow_sliced_subqueries` go allow_sliced_subqueries_with_in`.
DatabaseOperations.Distinct_SQL ()teastaíonn argóint params` breise anois agus tugann sé tuple SQL agus paraiméadair in ionad teaghrán SQL.Athraítear
databaseFeatures.introspected_boolean_field_typeó mhodh go maoin.
django.contrib.gisLink to this heading
Baintear tacaíocht do SpatiaLite 4.0.
Tacaíocht titim do MySQL 5.5Link to this heading
Is é deireadh na tacaíochta suas srutha do MySQL 5.5 ná Nollaig 2018. Tacaíonn Django 2.1 le MySQL 5.6 agus níos airde.
Tacaíocht titim do PostgreSQL 9.3Link to this heading
Is é Meán Fómhair 2018 deireadh na tacaíochta suas srutha do PostgreSQL 9.3. Tacaíonn Django 2.1 le PostgreSQL 9.4 agus níos airde.
Bainte BCryptPasswordHasher ón socrú réamhshocraithe PASSWORD_HASHERSLink to this heading
Má d'úsáid tú bcrypt le Django 1.4 nó 1.5 (sular cuireadh BCryptsha256PasswordHasher i Django 1.6), b'fhéidir go mbeadh roinnt pasfhocail agat a úsáideann an BCryptPasswordHasher hasher.
Is féidir leat a sheiceáil an bhfuil sin an cás mar seo:
from django.contrib.auth import get_user_model
User = get_user_model()
User.objects.filter(password__startswith="bcrypt$$")
Más mian leat leanúint ar aghaidh ag ceadú na pasfhocail sin a úsáid, beidh ort an socrú:setting: PASSWORD_HASHERS a shainiú (mura bhfuil tú cheana féin) agus ``django.contrib.auth.hashers.bcryptPasswordHasher'` a chur san áireamh.
Athróg comhthéacs teimpléad giuirléid wrap_label aistritheLink to this heading
Ch <label>un an easpa `a shocrú nuair a úsáidtear ``RadioSelect agus CheckboxSelectMultiple le MultiWidget, tá an t-athróg comhthéacs wrap_label le feiceáil anois mar thréith de gach rogha. Mar shampla, i dteimpléad saincheaptha input_option.html, athraigh {% if wrap_label%} go {% if widget.wrap_label%}.
Breithnithe maidir leis an gcead “féach” samhail nuaLink to this heading
Caithfidh foirmeacha riaracháin saincheaptha an cás amharc amháin a chur san áireamhLink to this heading
Leis an gcead nua “amharc”, d'fhéadfadh foirmeacha riaracháin saincheaptha atá ann cheana earráidí a ardú nuair nach bhfuil an cead athraithe ag úsáideoir mar d'fhéadfadh an fhoirm rochtain a fháil ar réimsí nach bhfuil Déan é seo a shocrú trí:meth: .modeladmin.get_form agus seiceáil an bhfuil na ceadanna “athraithe” ag an úsáideoir agus an fhoirm réamhshocraithe a thabhairt ar ais mura bhfuil:
class MyAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
if not self.has_change_permission(request, obj):
return super().get_form(request, obj, **kwargs)
return CustomForm
D'fhéadfadh cead amharc réamhshocraithe nua rochtain nach dteastaíonn a cheLink to this heading
Má tá cead saincheaptha agat le ainm cóid den fhoirm view_ <modelname>, ligfidh an láimhseáil cead amharc nua sa riarachán rochtain amharc ar an liosta athraithe agus ar leathanaigh mionsonraithe do na samhlacha sin. Mura dteastaíonn sé seo, ní mór duit d'ainm cóid cead saincheaptha a athrú.
IlghnéitheachLink to this heading
Méadaítear an leagan íosta tacaithe de mysqlclient` ó 1.3.3 go 1.3.7.
Baintear tacaíocht do SQLite <3.7.15.
Athraítear formáid dáta treoir
`ExpiresSet-Cookie` go dtí seo a leanas: rfc: 7231 #section -7.1.1.1 in ionad caighdeán fianán Netscape. Baintear na hiphens atá i láthair i ddátaí marMáirt, 25-Nollaig 2018 22:26:13 GMT. Níor chóir go mbeadh an t-athrú seo ach cosmaideach ach amháin b'fhéidir do bhrabhsálaithe seanmhara nach ndéanann an formáid nua a pháirseáil.Is argóint riachtanach é allowed_hosts` anois de API príobháideach ``django.utils.http.is_safe_url () ``.
Úsáideann an tréith
multiplea rinneadh ag an n:class: ~django.forms.SelectMultiple giuirléid anois comhréir boolean HTML5 seachasmultiple="multiple"XHTML.<br>Ní chuimsíonn HTML a rindreáiltear ag giuirléidí foirme scall deiridh ar eilimintí neamhní a thuilleadh, m.sh. ``` Níl sé seo comhoiriúnach laistigh de XHTML, cé gur úsáid roinnt giuirléidí gnéithe de HTML5 cheana féin mar thréithe boolean.
Athraítear luach roghanna folmha: Class: ~django.forms.SelectDateWidget ó 0 go sreang folamh, a d'fhéadfadh roinnt coigeartúcháin a bheith ag teastáil go príomha i dtástálacha a dhéanann comparáid idir HTML.
User.has_usable_password()and theis_password_usable()function no longer returnFalseif the password isNoneor an empty string, or if the password uses a hasher that's not in thePASSWORD_HASHERSsetting. This undocumented behavior was a regression in Django 1.6 and prevented users with such passwords from requesting a password reset. Audit your code to confirm that your usage of these APIs don't rely on the old behavior.Ós rud é go bhfuil imirce luchtaithe anois ó chomhaid .pyc`, b'fhéidir go mbeidh ort iad a scriosadh má tá tú ag obair i dtimpeallacht measctha Python 2 agus Python 3.
Meaitseálann luach cuardaigh
`Nonemar luach cuardaighDjango.contrib.postgres.fields.jsonFieldanois rudaí a bhfuil an eochair sonraithe acu agus luach null seachas rudaí nach bhfuil an eochair acu.Athainmnítear an rang CSS riaracháin
field-boxgo fieldbox` chun coimhlintí leis an rang a thugtar do réimsí samhail darb ainm “bosca” a chosc.Ós rud é go bhfuil
gníomhaíochtaí.html,change_list_results.html,date_hierarchy.html,page.html,prepopulated_fields_js.html,search_form.html, `` search_form.html`` , agus is féidir teimpléidsubmit_line.htmla shárú anois in aghaidh na haipe nó in aghaidh na samhla, seans go mbeidh ort teimpléid reatha a athainmniú leis na hainmneacha sin a bhí scríofa chun críche eile.``QuerySet.raw () ``a thorthaí a choscann anois cosúil le ceisteanna rialta. Úsáid ``iterator () ``mura dteastaíonn caching uait.
Tugtar modh ar an ródaire bunachar sonraí: meth: `allow_relations `i gcásanna níos mó. B'fhéidir go gcaithfear ródairí scríofa míchuí a nuashonrú dá réir.
Ní dhíghníomhaítear aistriúcháin a thuilleadh sula ndéantar orduithe <management-commands-and-locales>Má éilíonn d'ordú saincheaptha aistriúcháin a dhíghníomhachtú (mar shampla, chun ábhar neamhaistrithe a chur isteach sa bhunachar sonraí), bain úsáid as an nua:ref: @no_translations decorator.
Ní cheadaíonn orduithe bainistíochta foirmeacha giorraithe na n-argóintí
--socruithe ``agus ``--pythonpatha thuilleadh.Baintear an tairiseach príobháideach
Django.db.Models.sql.Constants.Query_Terms. <lookup-registration-api>B'fhéidir gur roghanna oiriúnacha iad na modhanna: Meth: ~.registerlookupMixin.get_lookupMixin.get_lookupMixin.get_lookups.get_lookups agus:ref: Lookup Clárúcháin API `. I gcomparáid leis an tairiseach ``QUERY_TERMS`, tugann siad deis do chód cuntas a thabhairt ar aon chuardach saincheaptha atá cláraithe.Baintear comhoiriúnacht le py-bcrypt` toisc nach bhfuil sé cothabháilte. Úsáid: pypi: bcrypt ina ionad.
Gnéithe atá díscríofa i 2.1Link to this heading
IlghnéitheachLink to this heading
Tá an fheidhm GIS
ForcerHRdíluaite i bhfabhar an fheidhm nua:class: ~django.contrib.gis.db.models.functions.forcePolygOncw.Tá ``django.utils.http.cookie_date () díscoilte i bhfabhr:func: `~django.utils.http.http_date, a leanann formáid an RFC is déanaí.
Tá
{% load staticfiles%}agus{% load admin_static%}a dhíchur i bhfabhar{% load static%}, a oibríonn mar an gcéanna.Tá
django.contrib.staticfiles.templatetags.static () ``díluachtaithe i bhfabhar ``django.templatetags.static.static ().Bainfear tacaíocht d':meth: .inlineModelAdmin.has_Add_Permission modhanna nach nglacann le
objmar an dara argóint seasmhach i Django 3.0.
Gnéithe bainte i 2.1Link to this heading
Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 2.1. Féach: Ref: deprecated-features-1.11 le haghaidh sonraí, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.
contrib.auth.views.login () ``, `logout (), password_change () `, password_change_done ()`, password_change_done () `, password_reset_done ()`, password_reset_done () `, password_reset_firm ()`, agus ``wordpass_reset_complete () Baintear ``.Baintear an paraiméadar
extra_contextde contrib.auth.views.logout_then_login () `.Ní thacaíonn
django.core.cache.backends.memcached.pylibmccachea thuilleadh le socruithe iompraíochtapylibmca rith mar thréithe barrleibhéil deOPTIONS.Baintear an paraiméadar
hostde django.utils.http.is_safe_url () `.Baintear an chlib teimpléid
{% include%}a thostú ar eisceachtaí a ardaíodh agus iad á rindreáil.Éilíonn an modh
fíordheimhniú () `chun cúltaca fíordheimhnithe ``iarraidhmar an chéad argóint seasaimh.Baintear an socrú
USE_ETAGS. Ní shocraíonnCommonMiddlewareagus ``django.utils.cache.patch_response_heads () ``ETags a thuilleadh.An
Samhail. Baintear tréith _meta.has_auto_field.Tacaíocht
url () ``do bhratacha inlíne i ngrúpaí léirithe rialta ((? i),(? L),(? m),(? s), agus(? u) ``) baintear.Baintear tacaíocht do mhodhanna
Widget.render ()gan an argóintrenderer.