Naučite kako učinkovito aktivirati način rada za održavanje na svojoj Django aplikaciji, istovremeno osiguravajući besprijekorno iskustvo za svoje korisnike.

Postavljanje vaše Django aplikacije u način rada za održavanje ključno je kada se izvršavaju ažuriranja, rješavaju tehnički problemi ili unose značajne promjene u vašu aplikaciju.

Privremenim ograničavanjem korisničkog pristupa i prikazivanjem stranice za održavanje možete prenijeti važne poruke, osigurati glatki proces ažuriranja i spriječiti potencijalne sukobe ili gubitak podataka.

Bilo da ste programer ili administrator sustava, razumijevanje kako implementirati način održavanja u Djangu omogućit će vam održavanje pouzdane i korisniku prilagođene aplikacije.

Kako koristiti paket Django-Maintenance-Mode

Zbog svoje opsežne podrške zajednice, Django nudi širok raspon paketa koji mogu značajno poboljšati vaš proces razvoja, omogućujući brži i učinkovitiji rad. Ovi paketi ublažavaju teret ponavljajućih zadataka, osiguravajući glatko iskustvo za vas kao programera.

instagram viewer

Jedan od paketa koje nudi Django je django-način održavanja paket koji možete koristiti za stavljanje vaše Django aplikacije u način rada za održavanje. The django-način održavanja paket radi tako da prikazuje stranicu za 503HTTP statusni kod. Možeš koristiti django-način održavanja u svojoj aplikaciji pomoću sljedećih koraka.

Korak 1: Instalirajte Django-Maintenance-Mode u svoje virtualno okruženje

  1. U vašem virtualno okruženje projekta, instalirajte paket pomoću Pythonovog pip upravitelja paketa. Pokrenite ovu naredbu u svom sučelje naredbene linije (CLI):
    pip instaliraj django-maintenance-mode
  2. Nakon instaliranja paketa dodajte održavanje prema INSTALLED_APPS popis u vašem postavke.py datoteka:
    INSTALLED_APPS = [
    # neke druge aplikacije,
    'održavanje',
    ]
  3. Zatim dodajte međuopreme za django-način održavanja prema MIDDLEWARE popis u vašem postavke.py datoteka:
    MIDDLEWARE = ​​[
    # neki drugi međuprogram od djanga,
    'maintenance_mode.middleware. MaintenanceModeMiddleware',
    ]

Korak 2: Napravite HTML predložak za prikaz poruke o načinu održavanja

Za django-način održavanja paket za prikaz stranice s greškom 503, traži a 503.html datoteku predloška u šablone imenik. Da biste to postavili, učinite sljedeće:

  1. Napravite mapu pod nazivom šablone u vašem korijenskom direktoriju.
  2. Otvorite svoj novostvoreni šablone mapu i stvorite datoteku pod nazivom 503.html.
  3. U vašem postavke.py datoteku, pronađite PREDLOŠCI postavke i konfigurirajte DIRS popis u njemu ovako:
    'DIRS': [BASE_DIR/'predlošci'],
  4. Otvori svoju 503.html datoteku i napišite HTML kod za prikaz poruke o pogrešci svojim korisnicima. Evo jednostavnog koda koji možete koristiti:
    html>
    <html>
    <glava>
    <metaskup znakova="UTF-8">
    <titula>503 usluga nedostupnatitula>
    <stil>
    tijelo {
    obitelj fontova: Arial, sans-serif;
    boja pozadine: #f5f5f5;
    margina: 0;
    ispuna: 0;
    }

    .container-503 {
    max-width: 600px;
    margina: 100px automatski;
    poravnanje teksta: središte;
    }

    h1 {
    veličina fonta: 48px;
    boja: #333333;
    margina-dno: 20px;
    }

    p {
    veličina fonta: 18px;
    boja: #666666;
    margina-dno: 30px;
    }

    .btn-503 {
    prikaz: inline-block;
    ispuna: 12px 24px;
    boja pozadine: #007bff;
    boja: #ffffff;
    tekst-ukras: nema;
    rubni radijus: 4px;
    veličina fonta: 18px;
    }
    stil>
    glava>
    <tijelo>
    <divrazreda = "kontejner-503">
    <h1>503 usluga nedostupnah1>
    <str>
    Ups! Trenutno radimo na nekim ažuriranjima.
    Ispričavamo se zbog neugodnosti i cijenimo vaše strpljenje.
    str>
    <str>Posjetite web stranicu kasnije ili se obratite našem timu za podrškustr>
    <ahref = "mailto: [email protected]"razreda = "btn-503">
    Kontaktirajte podršku
    a>
    div>
    tijelo>
    html>

Korak 3: Uključite način održavanja i ponovno pokrenite poslužitelj

U vašem postavke.py datoteci dodajte ovaj kod za uključivanje načina održavanja:

MAINTENANCE_MODE = Pravi

Ponovo pokrenite svoj razvojni poslužitelj pokretanjem ovoga u vašem CLI-ju:

python manage.py runserver

Kada dođete na svoje web mjesto, trebali biste vidjeti stranicu za održavanje koju ste izradili.

Kako ignorirati administratorsku stranicu u Django načinu održavanja

Kako biste omogućili vašem administratorskom mjestu da nastavi funkcionirati čak iu načinu rada za održavanje, django-način održavanja pruža postavku tzv MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Trebali biste dodati ovu postavku u svoj postavke.py datoteku i postavite je na Pravi:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Pravi

Zadana vrijednost gornje postavke je lažno; stoga će na vašu stranicu administratora utjecati stranica načina održavanja ako je ne postavite Pravi.

Kako ignorirati prikaz temeljen na određenim funkcijama u Djangovom načinu održavanja

The django-način održavanja paket pruža dekorater za sprječavanje određenog prikaza ili stranice—kao što je Oko stranicu vaše web-lokacije—od prelaska u način rada za održavanje. Da biste to učinili, prvo uvezite dekorater u svoj pogledi.py modul:

iz način_održavanja.dekorateri uvoz prisilno_način_održavanja_isključen

Nakon uvoza dekoratera, dodajte ga svom prikazu ovako:

@force_maintenance_mode_off
defnaziv_pogleda(zahtjev):
# izvođenje logike pogleda
# nikada ne vrati odgovor 503

Nakon pravilne implementacije dekoratera, URL za taj određeni prikaz postat će dostupan vašim korisnicima.

Kako ignorirati određeni prikaz temeljen na klasi u Djangovom načinu održavanja

Ignoriranje pogleda temeljenog na klasi slično je zanemarivanju pogleda temeljenog na funkciji. Međutim, najbolji pristup je učiniti to u urls.py datoteka.

Prvo morate uvesti prisilno_način_održavanja_isključen dekorater u vašoj aplikaciji urls.py datoteka. Zatim ga morate uključiti u svoj URL put. Evo primjera:

iz način_održavanja.dekorateri uvoz prisilno_način_održavanja_isključen
iz .pogleda uvoz VašPogled

url uzorci = [
# nikada ne vrati odgovor 503
staza('', force_maintenance_mode_off (YourView.as_view()), name='moj pogled'),
]

Pobrinite se da uvezete i druge potrebne stvari kao što su staza i vaš pogled temeljen na klasi.

Kako uključiti način rada održavanja za prikaz temeljen na određenim funkcijama

  1. Da biste uključili način rada održavanja za jedan prikaz, prvo isključite način rada održavanja u svom postavke.py datoteku na sljedeći način:
    MAINTENANCE_MODE = lažno
  2. Dalje, u vašem views.py, trebali biste uvesti prisilno_način_održavanja_uključen dekorater i dodajte ga svom prikazu:
    iz način_održavanja.dekorateri uvoz prisilno_način_održavanja_uključen

    @force_maintenance_mode_on
    defnaziv_pogleda(zahtjev):
    # Izvođenje logike pogleda
    # Uvijek vrati 503 odgovor

Kako uključiti način rada održavanja za određeni prikaz koji se temelji na klasi

  1. Prvo biste trebali isključiti način rada za održavanje u svom postavke.py datoteka:
    MAINTENANCE_MODE = lažno
  2. Dalje, u vašem urls.py, trebali biste uvesti prisilno_način_održavanja_uključen dekorater i dodajte ga potrebnoj URL stazi:
    iz način_održavanja.dekorateri uvoz prisilno_način_održavanja_uključen
    iz .pogleda uvoz VašPogled

    url uzorci = [
    # Uvijek vrati 503 odgovor
    staza('', force_maintenance_mode_on (YourView.as_view()), name='moj pogled'),
    ]

Kako koristiti drugačiji naziv predloška za Django način održavanja

Prema zadanim postavkama, django-način održavanja paket traži a predlošci/503.html šablona. Možete odlučiti nadjačati ovo u postavke.py datoteka.

Pretpostavimo da imate zasebnu mapu za obradu pogrešaka u svojoj aplikaciji; htjet ćete uključiti svoje 503.html predložak u ovoj mapi. Dakle, vaš predložak će biti unutra predlošci/pogreške/503.html.

Zadana postavka za ovu konfiguraciju je sljedeća:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Da biste ga nadjačali, trebali biste dodati drugu stazu koja pokazuje na vašu stranicu s pogreškom. Evo primjera:

MAINTENANCE_MODE_TEMPLATE = "greške/503.html"

Također možete promijeniti naziv datoteke ako želite, a sve će raditi u redu ako dodate potrebne konfiguracije.

Osim gore navedenih konfiguracija, django-način održavanja paket pruža druge zanimljive konfiguracije koje vam pomažu prilagoditi način održavanja vaše aplikacije vašim specifičnim potrebama. O ovim konfiguracijama možete pročitati u django-maintenance-mode dokumentacija.

Koristite način održavanja kako biste osigurali besprijekorna ažuriranja i poboljšano korisničko iskustvo u svojoj aplikaciji

Korištenje načina održavanja u vašoj aplikaciji može olakšati stvari vama i vašim korisnicima. Privremenim onemogućavanjem pristupa cijeloj ili dijelu vaše aplikacije tijekom ažuriranja ili zadataka održavanja, možete minimizirati smetnje i pogreške koje mogu proizaći iz istodobnih interakcija korisnika.

Korištenje načina održavanja ne samo da će vam omogućiti učinkovito izvođenje potrebnih ažuriranja, već također pokazuje predanost pružanju glatkog i neprekidnog iskustva za vaše korisnike.

Osim načina održavanja, također možete pružiti prilagođene predloške za druge pogreške u Djangu.