Lær hvordan du effektivt aktiverer vedlikeholdsmodus på Django-appen din samtidig som du sikrer en sømløs opplevelse for brukerne dine.

Å sette Django-appen din i vedlikeholdsmodus er avgjørende når du skal utføre oppdateringer, løse tekniske problemer eller gjøre betydelige endringer i applikasjonen din.

Ved å midlertidig begrense brukertilgang og vise en vedlikeholdsside kan du kommunisere viktige meldinger, sikre en jevn oppdateringsprosess og forhindre potensielle konflikter eller tap av data.

Enten du er en utvikler eller en systemadministrator, vil forståelse av hvordan du implementerer vedlikeholdsmodus i Django gjøre deg i stand til å opprettholde en pålitelig og brukervennlig applikasjon.

Slik bruker du Django-vedlikeholdsmoduspakken

På grunn av sin omfattende fellesskapsstøtte tilbyr Django et bredt spekter av pakker som kan forbedre utviklingsprosessen din betydelig, og muliggjøre raskere og mer effektivt arbeid. Disse pakkene letter byrden med repeterende oppgaver, og sikrer en jevnere opplevelse for deg som utvikler.

En av pakkene levert av Django er django-vedlikeholdsmodus pakke som du kan bruke til å sette Django-appen din i vedlikeholdsmodus. De django-vedlikeholdsmodus pakken fungerer ved å vise en side for 503HTTP-statuskode. Du kan bruke django-vedlikeholdsmodus i appen din med følgende trinn.

Trinn 1: Installer Django-vedlikeholdsmodus i ditt virtuelle miljø

  1. I din prosjektets virtuelle miljø, installer pakken med Pythons pip-pakkebehandling. Kjør denne kommandoen i din kommandolinjegrensesnitt (CLI):
    pip installer django-vedlikeholdsmodus
  2. Etter å ha installert pakken, legg til vedlikeholdsmodus til INSTALLERT_APPS liste i din settings.py fil:
    INSTALLED_APPS = [
    # noen andre apper,
    'vedlikeholdsmodus',
    ]
  3. Deretter legger du til mellomvaren for django-vedlikeholdsmodus til MIDDELVARE liste i din settings.py fil:
    MIDDELVARE = ​​[
    # annen mellomvare fra django,
    'maintenance_mode.middleware. Maintenance ModeMiddleware',
    ]

Trinn 2: Lag en HTML-mal for å vise meldingen om vedlikeholdsmodus

For django-vedlikeholdsmodus pakken for å vise en 503-feilside, ser den etter en 503.html malfil i maler katalog. For å sette opp dette, gjør følgende:

  1. Opprett en mappe kalt maler i rotkatalogen din.
  2. Åpne den nyopprettede maler mappe og lag en fil som heter 503.html.
  3. I din settings.py fil, finn MALER innstillinger og konfigurer DIRS liste i den slik:
    'DIRS': [BASE_DIR/'maler'],
  4. Åpne din 503.html fil og skriv HTML-koden for å gjengi en feilmelding til brukerne dine. Her er en enkel kode du kan bruke:
    html>
    <html>
    <hode>
    <metategnsett="UTF-8">
    <tittel>503 tjeneste utilgjengeligtittel>
    <stil>
    kropp {
    font-familie: Arial, sans-serif;
    bakgrunnsfarge: #f5f5f5;
    margin: 0;
    polstring: 0;
    }

    .container-503 {
    maks-bredde: 600px;
    margin: 100px auto;
    tekst-align: center;
    }

    h1 {
    skriftstørrelse: 48px;
    farge: #333333;
    marg-bunn: 20px;
    }

    p {
    skriftstørrelse: 18px;
    farge: #666666;
    marg-bunn: 30px;
    }

    .btn-503 {
    display: inline-blokk;
    polstring: 12px 24px;
    bakgrunnsfarge: #007bff;
    farge: #ffffff;
    tekst-dekorasjon: ingen;
    kantradius: 4px;
    skriftstørrelse: 18px;
    }
    stil>
    hode>
    <kropp>
    <divklasse = "container-503">
    <h1>503 tjeneste utilgjengeligh1>
    <s>
    Oops! Vi jobber for tiden med noen oppdateringer.
    Vi beklager ulempen og setter pris på din tålmodighet.
    s>
    <s>Besøk nettstedet senere eller kontakt vårt supportteams>
    <enhref = "mailto: [email protected]"klasse = "btn-503">
    Kontakt support
    en>
    div>
    kropp>
    html>

Trinn 3: Slå på vedlikeholdsmodus og start serveren på nytt

I din settings.py fil, legg til denne koden for å slå på vedlikeholdsmodus:

MAINTENANCE_MODE = ekte

Start utviklingsserveren på nytt ved å kjøre dette inn i CLI:

python manage.py runserver

Når du navigerer til nettstedet ditt, bør du se vedlikeholdssiden du opprettet.

Hvordan ignorere administrasjonssiden i Django-vedlikeholdsmodus

For å la administrasjonssiden din fortsette å fungere selv i vedlikeholdsmodus django-vedlikeholdsmodus gir en innstilling kalt MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Du bør legge til denne innstillingen i din settings.py fil og sett den til ekte:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = ekte

Standardverdien for innstillingen ovenfor er Falsk; Derfor vil administratorsiden din bli påvirket av siden for vedlikeholdsmodus hvis du ikke setter den til ekte.

Hvordan ignorere en spesifikk funksjonsbasert visning i Django-vedlikeholdsmodus

De django-vedlikeholdsmodus pakken gir en dekoratør for å forhindre en bestemt visning eller side – for eksempel Om siden på nettstedet ditt – fra å gå inn i vedlikeholdsmodus. For å gjøre dette, importer først dekoratoren til din views.py modul:

fra vedlikeholdsmodus.dekoratører import force_maintenance_mode_off

Etter å ha importert dekoratøren, legg den til i visningen din slik:

@force_maintenance_mode_off
defview_name(be om):
# utfør visningslogikk
# returner aldri 503-svar

Etter å ha implementert dekoratoren riktig, vil URL-en for den spesifikke visningen bli tilgjengelig for brukerne dine.

Hvordan ignorere en spesifikk klassebasert visning i Django-vedlikeholdsmodus

Å ignorere en klassebasert visning ligner på å ignorere en funksjonsbasert visning. Den beste tilnærmingen er imidlertid å gjøre det i urls.py fil.

Først må du importere force_maintenance_mode_off dekoratør i appen din urls.py fil. Deretter må du inkludere den i URL-banen din. Her er et eksempel:

fra vedlikeholdsmodus.dekoratører import force_maintenance_mode_off
fra .visninger import YourView

urlpatterns = [
# returner aldri 503-svar
sti('', force_maintenance_mode_off (YourView.as_view()), name='mitt syn'),
]

Pass på at du også importerer andre nødvendige ting som sti og din klassebaserte visning.

Slik slår du på vedlikeholdsmodus for en spesifikk funksjonsbasert visning

  1. For å slå på vedlikeholdsmodus for en enkelt visning, må du først slå av vedlikeholdsmodus i din settings.py fil ved å gjøre dette:
    MAINTENANCE_MODE = Falsk
  2. Neste, i din views.py, du bør importere force_maintenance_mode_on dekoratør og legg den til i visningen din:
    fra vedlikeholdsmodus.dekoratører import force_maintenance_mode_on

    @force_maintenance_mode_on
    defview_name(be om):
    # Utfør visningslogikk
    # Returner alltid 503-svar

Slik slår du på vedlikeholdsmodus for en spesifikk klassebasert visning

  1. Først bør du slå av vedlikeholdsmodus i din settings.py fil:
    MAINTENANCE_MODE = Falsk
  2. Neste, i din urls.py, bør du importere force_maintenance_mode_on dekorator og legg den til den nødvendige URL-banen:
    fra vedlikeholdsmodus.dekoratører import force_maintenance_mode_on
    fra .visninger import YourView

    urlpatterns = [
    # Returner alltid 503-svar
    sti('', force_maintenance_mode_on (YourView.as_view()), name='mitt syn'),
    ]

Hvordan bruke et annet malnavn for Django-vedlikeholdsmodus

Som standard er django-vedlikeholdsmodus pakken ser etter en templates/503.html mal. Du kan velge å overstyre dette i settings.py fil.

Anta at du har en egen mappe for å håndtere feil i appen din; du vil inkludere din 503.html mal i denne mappen. Så malen din vil være med templates/errors/503.html.

Standardinnstillingen for denne konfigurasjonen er denne:

MAINTENANCE_MODE_TEMPLATE = "503.html"

For å overstyre den, bør du legge til en annen bane som peker til feilsiden. Her er et eksempel:

MAINTENANCE_MODE_TEMPLATE = "errors/503.html"

Du kan også endre filnavnet hvis du vil, og alt vil fungere bra hvis du legger til de nødvendige konfigurasjonene.

Bortsett fra de ovennevnte konfigurasjonene, er django-vedlikeholdsmodus pakken gir andre interessante konfigurasjoner for å hjelpe deg med å tilpasse appens vedlikeholdsmodus til ditt spesifikke behov. Du kan lese om disse konfigurasjonene i dokumentasjon for django-vedlikeholdsmodus.

Bruk vedlikeholdsmodus for å sikre sømløse oppdateringer og forbedret brukeropplevelse i appen din

Å utnytte vedlikeholdsmodusen i appen din kan gjøre ting enklere for deg og brukerne dine. Ved å midlertidig deaktivere tilgangen til hele eller deler av appen din under oppdateringer eller vedlikeholdsoppgaver, kan du minimere forstyrrelser og feil som kan oppstå fra samtidige brukerinteraksjoner.

Bruk av vedlikeholdsmodus vil ikke bare tillate deg å utføre nødvendige oppdateringer effektivt, men viser også en forpliktelse til å gi en jevn og uavbrutt opplevelse for brukerne dine.

Bortsett fra vedlikeholdsmodus, kan du også gi tilpassede maler for andre feil i Django.