Opi aktivoimaan ylläpitotila tehokkaasti Django-sovelluksessasi ja varmistamalla samalla saumattoman käyttökokemuksen käyttäjillesi.

Django-sovelluksen asettaminen ylläpitotilaan on erittäin tärkeää suoritettaessa päivityksiä, ratkaistaessa teknisiä ongelmia tai tehtäessä merkittäviä muutoksia sovellukseen.

Rajoittamalla tilapäisesti käyttäjien pääsyä ja näyttämällä ylläpitosivun, voit välittää tärkeitä viestejä, varmistaa sujuvan päivitysprosessin ja estää mahdolliset ristiriidat tai tietojen katoamisen.

Olitpa kehittäjä tai järjestelmänvalvoja, ylläpitotilan käyttöönotto Djangossa auttaa sinua ylläpitämään luotettavaa ja käyttäjäystävällistä sovellusta.

Django-Maintenance-Mode-paketin käyttäminen

Laajan yhteisötuen ansiosta Django tarjoaa laajan valikoiman paketteja, jotka voivat parantaa merkittävästi kehitysprosessiasi ja mahdollistaa nopeamman ja tehokkaamman työn. Nämä paketit keventävät toistuvien tehtävien taakkaa ja varmistavat sujuvamman kokemuksen kehittäjänä.

Yksi Djangon tarjoamista paketeista on

instagram viewer
django-huoltotila paketti, jonka avulla voit laittaa Django-sovelluksesi ylläpitotilaan. The django-huoltotila paketti toimii näyttämällä sivun 503HTTP-tilakoodi. Voit käyttää django-huoltotila sovelluksessasi seuraavilla vaiheilla.

Vaihe 1: Asenna Django-Maintenance-Mode virtuaaliympäristöösi

  1. Sinun projektin virtuaaliseen ympäristöön, asenna paketti Pythonin pip-pakettien hallinnan avulla. Suorita tämä komento omassasi komentoriviliittymä (CLI):
    pip asennus django-huoltotila
  2. Kun olet asentanut paketin, lisää huoltotila kohtaan INSTALLED_APPS luettelossasi settings.py tiedosto:
    INSTALLED_APPS = [
    # muuta sovellusta,
    'huoltotila',
    ]
  3. Lisää seuraavaksi väliohjelmisto django-huoltotila kohtaan VÄLIOHJEET luettelossasi settings.py tiedosto:
    VÄLIOHJEET = [
    # muuta djangon väliohjelmistoa,
    'maintenance_mode.middleware. MaintenanceModeMiddleware',
    ]

Vaihe 2: Luo HTML-malli, joka näyttää ylläpitotilan viestin

Varten django-huoltotila paketti näyttääkseen 503-virhesivun, se etsii a 503.html mallitiedosto malleja hakemistosta. Voit määrittää tämän toimimalla seuraavasti:

  1. Luo kansio nimeltä malleja juurihakemistossasi.
  2. Avaa juuri luomasi malleja kansio ja luo tiedosto nimeltä 503.html.
  3. Sinun settings.py tiedosto, etsi MALLIT asetukset ja määritä DIRS lista siinä näin:
    "DIRS": [BASE_DIR/'mallit'],
  4. Avaa sinun 503.html tiedosto ja kirjoita HTML-koodi näyttääksesi virheilmoituksen käyttäjillesi. Tässä on yksinkertainen koodi, jota voit käyttää:
    html>
    <html>
    <pää>
    <metamerkkisetti="UTF-8">
    <otsikko>503 Palvelu ei ole käytettävissäotsikko>
    <tyyli>
    body {
    kirjasinperhe: Arial, sans-serif;
    taustaväri: #f5f5f5;
    marginaali: 0;
    pehmuste: 0;
    }

    .container-503 {
    suurin leveys: 600 pikseliä;
    marginaali: 100px automaattinen;
    tekstin tasaus: keskellä;
    }

    h1 {
    fonttikoko: 48px;
    väri: #333333;
    marginaali-ala: 20px;
    }

    p {
    fonttikoko: 18px;
    väri: #666666;
    marginaali-ala: 30px;
    }

    .btn-503 {
    näyttö: inline-block;
    täyte: 12px 24px;
    taustaväri: #007bff;
    väri: #ffffff;
    tekstikoristelu: ei mitään;
    reunan säde: 4px;
    fonttikoko: 18px;
    }
    tyyli>
    pää>
    <kehon>
    <divluokkaa = "kontti-503">
    <h1>503 Palvelu ei ole käytettävissäh1>
    <s>
    Oho! Työskentelemme parhaillaan joidenkin päivitysten parissa.
    Pahoittelemme häiriötä ja kiitämme kärsivällisyydestäsi.
    s>
    <s>Vieraile verkkosivustolla myöhemmin tai ota yhteyttä tukitiimiimmes>
    <ahref = "mailto: [email protected]"luokkaa = "btn-503">
    Ota yhteyttä tukeen
    a>
    div>
    kehon>
    html>

Vaihe 3: Ota ylläpitotila käyttöön ja käynnistä palvelin uudelleen

Sinun settings.py tiedosto, lisää tämä koodi ottaaksesi ylläpitotilan käyttöön:

MAINTENANCE_MODE = Totta

Käynnistä kehityspalvelimesi uudelleen suorittamalla tämä CLI: ssäsi:

python manage.py runserver

Kun siirryt verkkosivustollesi, sinun pitäisi nähdä luomasi ylläpitosivu.

Kuinka ohittaa järjestelmänvalvojan sivusto Djangon ylläpitotilassa

Jotta järjestelmänvalvojasivustosi voisi jatkaa toimintaansa myös ylläpitotilassa, django-huoltotila tarjoaa asetuksen nimeltä MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Sinun tulee lisätä tämä asetus omaan settings.py tiedosto ja aseta se Totta:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Totta

Yllä olevan asetuksen oletusarvo on Väärä; Näin ollen ylläpitotilan sivu vaikuttaa järjestelmänvalvojan sivustoosi, jos et määritä sitä Totta.

Kuinka ohittaa tietty toimintopohjainen näkymä Django-huoltotilassa

The django-huoltotila paketti tarjoaa sisustajan, joka estää tietyn näkymän tai sivun, kuten Noin sivustosi sivu – siirtymisestä ylläpitotilaan. Voit tehdä tämän tuomalla ensin sisustajan omaan views.py moduuli:

alkaen ylläpitotila.decorators tuonti force_maintenance_mode_off

Kun olet tuonut koristelun, lisää se näkymään seuraavasti:

@force_maintenance_mode_off
defnäkymän_nimi(pyyntö):
# suorita näkymälogiikka
# ei koskaan palauta 503 vastausta

Kun koristelu on otettu käyttöön oikein, kyseisen näkymän URL-osoite on käyttäjien käytettävissä.

Tietyn luokkapohjaisen näkymän ohittaminen Django-huoltotilassa

Luokkapohjaisen näkymän huomioimatta jättäminen on samanlaista kuin funktiopohjaisen näkymän ohittaminen. Paras tapa on kuitenkin tehdä se urls.py tiedosto.

Ensin sinun on tuotava force_maintenance_mode_off sisustaja sovelluksessasi urls.py tiedosto. Sitten sinun on sisällytettävä se URL-polkuun. Tässä on esimerkki:

alkaen ylläpitotila.decorators tuonti force_maintenance_mode_off
alkaen .views tuonti YourView

urlpatterns = [
# ei koskaan palauta 503 vastausta
polku ('', force_maintenance_mode_off (YourView.as_view()), nimi='minun näkökulmani'),
]

Varmista, että tuot myös muita tarpeellisia asioita, kuten polku ja luokkapohjainen näkemyksesi.

Huoltotilan ottaminen käyttöön tiettyä toimintopohjaista näkymää varten

  1. Jos haluat ottaa ylläpitotilan käyttöön yhdelle näkymälle, poista ensin huoltotila käytöstä settings.py tiedosto tekemällä näin:
    MAINTENANCE_MODE = Väärä
  2. Seuraavaksi sinun views.py, sinun pitäisi tuoda force_maintenance_mode_on sisustaja ja lisää se näkymään:
    alkaen ylläpitotila.decorators tuonti force_maintenance_mode_on

    @force_maintenance_mode_on
    defnäkymän_nimi(pyyntö):
    # Suorita näkymälogiikka
    # Palauta aina 503 vastaus

Ylläpitotilan kytkeminen päälle tietylle luokkapohjaiselle näkymälle

  1. Ensinnäkin sinun tulee kytkeä huoltotila pois päältä settings.py tiedosto:
    MAINTENANCE_MODE = Väärä
  2. Seuraavaksi sinun urls.py, sinun tulee tuoda force_maintenance_mode_on decorator ja lisää se vaadittuun URL-polkuun:
    alkaen ylläpitotila.decorators tuonti force_maintenance_mode_on
    alkaen .views tuonti YourView

    urlpatterns = [
    # Palauta aina 503 vastaus
    polku ('', force_maintenance_mode_on (YourView.as_view()), nimi='minun näkökulmani'),
    ]

Kuinka käyttää eri mallinimeä Django-huoltotilassa

Oletuksena django-huoltotila paketti etsii a templates/503.html sapluuna. Voit päättää ohittaa tämän kohdassa settings.py tiedosto.

Oletetaan, että sinulla on erillinen kansio sovelluksesi virheiden käsittelemiseksi. haluat sisällyttää omasi 503.html malli tässä kansiossa. Joten mallisi on mukana templates/errors/503.html.

Tämän kokoonpanon oletusasetus on tämä:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Voit ohittaa sen lisäämällä toisen polun, joka osoittaa virhesivullesi. Tässä on esimerkki:

MAINTENANCE_MODE_TEMPLATE = "errors/503.html"

Voit myös muuttaa tiedoston nimeä, jos haluat, ja kaikki toimii hyvin, jos lisäät tarvittavat asetukset.

Edellä mainittuja kokoonpanoja lukuun ottamatta django-huoltotila paketti tarjoaa muita mielenkiintoisia kokoonpanoja, joiden avulla voit mukauttaa sovelluksesi ylläpitotilan tarpeisiisi. Voit lukea näistä kokoonpanoista kohdasta django-huoltotilan dokumentaatio.

Käytä ylläpitotilaa varmistaaksesi saumattomat päivitykset ja parannetun käyttökokemuksen sovelluksessasi

Ylläpitotilan hyödyntäminen sovelluksessasi voi helpottaa asioita sinulle ja käyttäjillesi. Estämällä tilapäisesti pääsyn koko sovellukseesi tai sen osiin päivitysten tai ylläpitotehtävien ajaksi, voit minimoida häiriöt ja virheet, jotka voivat aiheutua samanaikaisista käyttäjien vuorovaikutuksista.

Ylläpitotilan käyttö ei ainoastaan ​​mahdollista tarvittavien päivitysten suorittamista tehokkaasti, vaan se myös osoittaa sitoutumistasi sujuvan ja keskeytymättömän käyttökokemuksen tarjoamiseen käyttäjillesi.

Ylläpitotilan lisäksi voit tarjota myös mukautettuja malleja muille Djangon virheille.