Siit saate teada, kuidas Django rakenduses tõhusalt hooldusrežiimi aktiveerida, tagades samal ajal kasutajatele sujuva kogemuse.

Django rakenduse lülitamine hooldusrežiimi on ülioluline värskenduste tegemisel, tehniliste probleemide lahendamisel või rakenduses oluliste muudatuste tegemisel.

Kasutajate juurdepääsu ajutiselt piirates ja hoolduslehte kuvades saate edastada olulisi sõnumeid, tagada sujuv uuendusprotsess ning vältida võimalikke konflikte või andmete kadu.

Olenemata sellest, kas olete arendaja või süsteemiadministraator, Djangos hooldusrežiimi rakendamise mõistmine võimaldab teil hooldada usaldusväärset ja kasutajasõbralikku rakendust.

Kuidas kasutada Django hooldusrežiimi paketti

Tänu oma ulatuslikule kogukonna toele pakub Django laia valikut pakette, mis võivad teie arendusprotsessi oluliselt täiustada, võimaldades kiiremat ja tõhusamat tööd. Need paketid leevendavad korduvate ülesannete koormust, tagades teile kui arendajale sujuvama kogemuse.

Üks Django pakutavatest pakettidest on

instagram viewer
django-hooldusrežiim pakett, mille abil saate oma Django rakenduse hooldusrežiimi panna. The django-hooldusrežiim pakett töötab, kuvades lehe jaoks 503HTTP olekukood. Sa võid kasutada django-hooldusrežiim oma rakenduses järgmiste sammudega.

1. samm: installige oma virtuaalkeskkonda Django-hooldusrežiim

  1. Sinu projekti virtuaalses keskkonnas, installige pakett Pythoni pip-paketihalduriga. Käivitage see käsk oma käsurea liides (CLI):
    pip installi django-hooldusrežiim
  2. Pärast paketi installimist lisage Hooldusrežiim juurde INSTALLED_APPS teie loendis settings.py fail:
    INSTALLED_APPS = [
    # mõni muu rakendus,
    'Hooldusrežiim',
    ]
  3. Järgmisena lisage vahevara django-hooldusrežiim juurde KESKVARA teie loendis settings.py fail:
    KESKVARA = [
    # django muud vahevara,
    'maintainance_mode.middleware. MaintenanceModeMiddleware',
    ]

2. samm: looge hooldusrežiimi sõnumi kuvamiseks HTML-mall

Jaoks django-hooldusrežiim 503 vealehe kuvamiseks otsib see a 503.html mallifaili mallid kataloog. Selle seadistamiseks tehke järgmist.

  1. Looge kaust nimega mallid oma juurkataloogis.
  2. Avage oma äsja loodud mallid kausta ja looge fail nimega 503.html.
  3. Sinu settings.py fail, otsige üles MALLID seaded ja konfigureerige DIRS nimekiri selles:
    "DIRS": [BASE_DIR/'mallid'],
  4. Ava oma 503.html fail ja kirjutage oma kasutajatele veateate kuvamiseks HTML-kood. Siin on lihtne kood, mida saate kasutada:
    html>
    <html>
    <pea>
    <metamärgistik="UTF-8">
    <pealkiri>503 Teenus pole saadavalpealkiri>
    <stiilis>
    keha {
    fondiperekond: Arial, sans-serif;
    taustavärv: #f5f5f5;
    marginaal: 0;
    polsterdus: 0;
    }

    .container-503 {
    maksimaalne laius: 600 pikslit;
    veeris: 100px auto;
    teksti joondamine: keskel;
    }

    h1 {
    fondi suurus: 48 pikslit;
    värv: #333333;
    veeris-alumine: 20px;
    }

    p {
    fondi suurus: 18 pikslit;
    värv: #666666;
    veeris-alumine: 30px;
    }

    .btn-503 {
    ekraan: inline-block;
    polsterdus: 12px 24px;
    taustavärv: #007bff;
    värv: #ffffff;
    tekst-kaunistus: puudub;
    piiri raadius: 4 pikslit;
    fondi suurus: 18 pikslit;
    }
    stiilis>
    pea>
    <keha>
    <divklass = "konteiner-503">
    <h1>503 Teenus pole saadavalh1>
    <lk>
    Oih! Praegu töötame mõne uuenduse kallal.
    Vabandame ebamugavuste pärast ja täname teie kannatlikkust.
    lk>
    <lk>Külastage veebisaiti hiljem või võtke ühendust meie tugimeeskonnagalk>
    <ahref = "mailto: tugi@teieettevõttemail.com"klass = "btn-503">
    Võtke ühendust toega
    a>
    div>
    keha>
    html>

3. samm: lülitage sisse hooldusrežiim ja taaskäivitage server

Sinu settings.py faili, lisage hooldusrežiimi sisselülitamiseks see kood:

MAINTENANCE_MODE = Tõsi

Taaskäivitage arendusserver, käivitades selle oma CLI-s:

python manage.py runserver

Kui navigeerite oma veebisaidile, peaksite nägema loodud hoolduslehte.

Kuidas eirata administraatori saiti Django hooldusrežiimis

Et teie administraatori sait saaks jätkata toimimist ka hooldusrežiimis, django-hooldusrežiim pakub seadet nimega MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Peaksite selle sätte omale lisama settings.py faili ja määrake see Tõsi:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Tõsi

Ülaltoodud sätte vaikeväärtus on Vale; seega mõjutab teie administraatori saiti hooldusrežiimi leht, kui te seda ei määra Tõsi.

Kuidas eirata konkreetset funktsioonipõhist vaadet Django hooldusrežiimis

The django hooldusrežiim pakett sisaldab dekoraatorit, mis takistab teatud vaate või lehe, näiteks Umbes teie saidi leht – hooldusrežiimi lülitumisest. Selleks importige esmalt dekoraator oma views.py moodul:

alates hooldusrežiim.dekoraatorid importida sunnitud_hooldusrežiim_väljas

Pärast dekoraatori importimist lisage see oma vaatesse järgmiselt:

@force_maintenance_mode_off
defvaate_nimi(taotlus):
# teostada vaateloogikat
# ei tagasta kunagi 503 vastust

Pärast dekoraatori õiget rakendamist muutub selle konkreetse vaate URL teie kasutajatele juurdepääsetavaks.

Kuidas Django hooldusrežiimis konkreetset klassipõhist vaadet ignoreerida

Klassipõhise vaate ignoreerimine on sarnane funktsioonipõhise vaate ignoreerimisega. Siiski on parim viis seda teha urls.py faili.

Esiteks peate importima sunnitud_hooldusrežiim_väljas dekoraator teie rakenduses urls.py faili. Seejärel peate selle oma URL-i teele lisama. Siin on näide:

alates hooldusrežiim.dekoraatorid importida sunnitud_hooldusrežiim_väljas
alates .vaateid importida Teie vaade

urlmustrid = [
# ei tagasta kunagi 503 vastust
tee ('', sunnitud_hooldusrežiim_väljas (Teie vaade.as_vaade()), nimi='minu vaade'),
]

Importige kindlasti ka muid vajalikke asju, nt tee ja teie klassipõhine vaade.

Kuidas konkreetse funktsioonipõhise vaate jaoks hooldusrežiimi sisse lülitada

  1. Hooldusrežiimi sisselülitamiseks ühe vaate jaoks lülitage esmalt oma seadmes hooldusrežiim välja settings.py faili, tehes seda:
    MAINTENANCE_MODE = Vale
  2. Järgmisena teie views.py, peaksite importima sunnitud_hooldusrežiim_sees dekoraator ja lisage see oma vaatesse:
    alates hooldusrežiim.dekoraatorid importida sunnitud_hooldusrežiim_sees

    @force_maintenance_mode_on
    defvaate_nimi(taotlus):
    # Teostage vaateloogika
    # Tagastage alati 503 vastus

Kuidas konkreetse klassipõhise vaate jaoks hooldusrežiimi sisse lülitada

  1. Esiteks peaksite oma seadmes hooldusrežiimi välja lülitama settings.py fail:
    MAINTENANCE_MODE = Vale
  2. Järgmisena teie urls.py, peaksite importima sunnitud_hooldusrežiim_sees dekoraator ja lisage see nõutavale URL-i teele:
    alates hooldusrežiim.dekoraatorid importida sunnitud_hooldusrežiim_sees
    alates .vaateid importida Teie vaade

    urlmustrid = [
    # Tagastage alati 503 vastus
    tee ('', sunnitud_hooldusrežiim (Teie vaade.as_view()), nimi='minu vaade'),
    ]

Kuidas kasutada Django hooldusrežiimi jaoks erinevat mallinime

Vaikimisi on django-hooldusrežiim pakett otsib a templates/503.html malli. Saate otsustada selle tühistada jaotises settings.py faili.

Oletame, et teil on rakenduse vigade käsitlemiseks eraldi kaust; soovite lisada oma 503.html mall selles kaustas. Nii et teie mall on sees templates/errors/503.html.

Selle konfiguratsiooni vaikeseade on järgmine:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Selle tühistamiseks peaksite lisama oma vealehele teise tee. Siin on näide:

MAINTENANCE_MODE_TEMPLATE = "errors/503.html"

Soovi korral saate muuta ka failinime ja kõik toimib hästi, kui lisate vajalikud seadistused.

Peale ülaltoodud konfiguratsioonide on django-hooldusrežiim pakett pakub muid huvitavaid konfiguratsioone, mis aitavad teil kohandada oma rakenduse hooldusrežiimi vastavalt teie konkreetsetele vajadustele. Nende konfiguratsioonide kohta saate lugeda jaotisest django-hooldusrežiimi dokumentatsioon.

Kasutage oma rakenduses sujuvate värskenduste ja täiustatud kasutajakogemuse tagamiseks hooldusrežiimi

Hooldusrežiimi kasutamine rakenduses võib teie ja teie kasutajate jaoks asjad lihtsamaks muuta. Kui keelate värskenduste või hooldustoimingute ajaks ajutiselt juurdepääsu kogu oma rakendusele või selle osale, saate minimeerida häireid ja vigu, mis võivad tekkida samaaegsest kasutaja interaktsioonist.

Hooldusrežiimi kasutamine mitte ainult ei võimalda teil tõhusalt teha vajalikke värskendusi, vaid näitab ka pühendumust pakkuda kasutajatele sujuvat ja katkematut kasutuskogemust.

Lisaks hooldusrežiimile saate pakkuda ka kohandatud malle muude Django vigade jaoks.