Naučte se, jak efektivně aktivovat režim údržby ve vaší aplikaci Django a zároveň zajistit bezproblémové používání pro vaše uživatele.

Uvedení aplikace Django do režimu údržby je zásadní při provádění aktualizací, řešení technických problémů nebo provádění významných změn v aplikaci.

Dočasným omezením přístupu uživatelů a zobrazením stránky údržby můžete komunikovat důležité zprávy, zajistit hladký proces aktualizace a zabránit potenciálním konfliktům nebo ztrátě dat.

Ať už jste vývojář nebo správce systému, pochopení toho, jak implementovat režim údržby v Django, vám umožní udržovat spolehlivou a uživatelsky přívětivou aplikaci.

Jak používat balíček Django-Maintenance-Mode

Díky své rozsáhlé komunitní podpoře nabízí Django širokou škálu balíčků, které mohou výrazně zlepšit váš vývojový proces a umožnit rychlejší a efektivnější práci. Tyto balíčky zmírňují zátěž opakujících se úkolů a zajišťují vám jako vývojáři hladší zážitek.

Jedním z balíčků poskytovaných Django je django-maintenance-mode

instagram viewer
balíček, který můžete použít k uvedení aplikace Django do režimu údržby. The django-maintenance-mode balíček funguje tak, že zobrazí stránku pro 503Stavový kód HTTP. Můžeš použít django-maintenance-mode ve své aplikaci pomocí následujících kroků.

Krok 1: Nainstalujte Django-Maintenance-Mode do vašeho virtuálního prostředí

  1. Ve vašem virtuální prostředí projektu, nainstalujte balíček pomocí správce balíčků pip Pythonu. Spusťte tento příkaz ve svém rozhraní příkazového řádku (CLI):
    pip install django-maintenance-mode
  2. Po instalaci balíčku přidejte údržbový mód k INSTALLED_APPS seznam ve vašem settings.py soubor:
    INSTALLED_APPS = [
    # některé další aplikace,
    'údržbový mód',
    ]
  3. Dále přidejte middleware pro django-maintenance-mode k STŘEDNÍ NÁSTROJ seznam ve vašem settings.py soubor:
    STŘEDNÍ WARE = ​​[
    # nějaký další middleware od django,
    'maintenance_mode.middleware. MaintenanceModeMiddleware',
    ]

Krok 2: Vytvořte HTML šablonu pro zobrazení zprávy o režimu údržby

Pro django-maintenance-mode balíček pro zobrazení chybové stránky 503 hledá a 503.html soubor šablony v šablony adresář. Chcete-li to nastavit, postupujte takto:

  1. Vytvořte složku s názvem šablony ve vašem kořenovém adresáři.
  2. Otevřete svůj nově vytvořený šablony složku a vytvořte soubor s názvem 503.html.
  3. Ve vašem settings.py soubor, vyhledejte ŠABLONY nastavení a nakonfigurujte DIRS seznam v něm takto:
    'DIRS': [BASE_DIR/'šablony'],
  4. Otevři tvůj 503.html a zapište kód HTML, aby se uživatelům zobrazila chybová zpráva. Zde je jednoduchý kód, který můžete použít:
    html>
    <html>
    <hlava>
    <metaznaková sada="UTF-8">
    <titul>503 služba nedostupnátitul>
    <styl>
    tělo {
    rodina písem: Arial, bezpatkové;
    barva pozadí: #f5f5f5;
    okraj: 0;
    výplň: 0;
    }

    .container-503 {
    max-width: 600px;
    okraj: 100px automaticky;
    text-align: center;
    }

    h1 {
    velikost písma: 48px;
    barva: #333333;
    margin-bottom: 20px;
    }

    p {
    velikost písma: 18px;
    barva: #666666;
    margin-bottom: 30px;
    }

    .btn-503 {
    displej: inline-block;
    odsazení: 12px 24px;
    barva pozadí: #007bff;
    barva: #ffffff;
    text-dekorace: žádná;
    border-radius: 4px;
    velikost písma: 18px;
    }
    styl>
    hlava>
    <tělo>
    <divtřída = "kontejner-503">
    <h1>503 služba nedostupnáh1>
    <p>
    Jejda! V současné době pracujeme na některých aktualizacích.
    Omlouváme se za nepříjemnosti a děkujeme za trpělivost.
    p>
    <p>Navštivte prosím web později nebo kontaktujte náš tým podporyp>
    <Ahref = "mailto: podpora@vašefirmamail.com"třída = "btn-503">
    Kontaktujte podporu
    A>
    div>
    tělo>
    html>

Krok 3: Zapněte režim údržby a restartujte server

Ve vašem settings.py soubor, přidejte tento kód pro zapnutí režimu údržby:

MAINTENANCE_MODE = Skutečný

Restartujte svůj vývojový server spuštěním tohoto příkazu do CLI:

runserver python manage.py

Když přejdete na svůj web, měli byste vidět stránku údržby, kterou jste vytvořili.

Jak ignorovat stránku správce v režimu údržby Django

Aby váš web správce mohl fungovat i v režimu údržby, django-maintenance-mode poskytuje nastavení tzv MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Toto nastavení byste měli přidat do svého settings.py soubor a nastavte jej na Skutečný:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Skutečný

Výchozí hodnota výše uvedeného nastavení je Nepravdivé; Pokud ji tedy nenastavíte, stránka režimu údržby bude ovlivněna stránkou s režimem údržby Skutečný.

Jak ignorovat konkrétní zobrazení založené na funkcích v režimu údržby Django

The django-maintenance-mode balíček poskytuje dekorátor, který zabrání určitému zobrazení nebo stránce – například O stránku vašeho webu – z přechodu do režimu údržby. Chcete-li to provést, nejprve importujte dekoratér do svého views.py modul:

z údržba_režim.dekorátoři import force_maintenance_mode_off

Po importu dekorátoru jej přidejte do zobrazení takto:

@force_maintenance_mode_off
defnázev_zobrazení(žádost):
# provést logiku zobrazení
# nikdy nevrátit odpověď 503

Po správné implementaci dekorátoru bude adresa URL pro konkrétní zobrazení přístupná vašim uživatelům.

Jak ignorovat konkrétní pohled podle třídy v režimu údržby Django

Ignorování pohledu založeného na třídách je podobné jako ignorování pohledu založeného na funkcích. Nejlepším přístupem je však provést to v urls.py soubor.

Nejprve musíte importovat force_maintenance_mode_off dekoratér ve vaší aplikaci urls.py soubor. Poté jej musíte zahrnout do cesty URL. Zde je příklad:

z údržba_režim.dekorátoři import force_maintenance_mode_off
z .zobrazení import YourView

urlpatterns = [
# nikdy nevrátit odpověď 503
cesta('', force_maintenance_mode_off (YourView.as_view()), name='můj pohled'),
]

Ujistěte se, že importujete také další potřebné věci, např cesta a váš pohled na třídu.

Jak zapnout režim údržby pro konkrétní zobrazení založené na funkcích

  1. Chcete-li zapnout režim údržby pro jeden pohled, nejprve vypněte režim údržby ve svém settings.py soubor takto:
    MAINTENANCE_MODE = Nepravdivé
  2. Dále ve vašem views.py, měli byste importovat force_maintenance_mode_on dekoratér a přidejte jej do zobrazení:
    z údržba_režim.dekorátoři import force_maintenance_mode_on

    @force_maintenance_mode_on
    defnázev_zobrazení(žádost):
    # Proveďte logiku zobrazení
    # Vždy vrátit odpověď 503

Jak zapnout režim údržby pro konkrétní pohled podle třídy

  1. Nejprve byste měli ve svém zařízení vypnout režim údržby settings.py soubor:
    MAINTENANCE_MODE = Nepravdivé
  2. Dále ve vašem urls.py, měli byste importovat force_maintenance_mode_on dekoratér a přidejte jej do požadované adresy URL:
    z údržba_režim.dekorátoři import force_maintenance_mode_on
    z .zobrazení import YourView

    urlpatterns = [
    # Vždy vrátit odpověď 503
    cesta('', force_maintenance_mode_on (YourView.as_view()), name='můj pohled'),
    ]

Jak použít jiný název šablony pro režim údržby Django

Ve výchozím nastavení je django-maintenance-mode balíček hledá a šablony/503.html šablona. Můžete se rozhodnout toto přepsat v settings.py soubor.

Předpokládejme, že máte samostatnou složku pro zpracování chyb ve vaší aplikaci; budete chtít zahrnout své 503.html šablony v této složce. Takže vaše šablona bude in templates/errors/503.html.

Výchozí nastavení pro tuto konfiguraci je toto:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Chcete-li to přepsat, měli byste přidat jinou cestu ukazující na vaši chybovou stránku. Zde je příklad:

MAINTENANCE_MODE_TEMPLATE = "errors/503.html"

Pokud chcete, můžete také změnit název souboru a vše bude fungovat správně, pokud přidáte potřebné konfigurace.

Kromě výše uvedených konfigurací, django-maintenance-mode balíček poskytuje další zajímavé konfigurace, které vám pomohou přizpůsobit režim údržby vaší aplikace vašim konkrétním potřebám. O těchto konfiguracích si můžete přečíst v dokumentace django-maintenance-mode.

Použijte režim údržby k zajištění bezproblémových aktualizací a lepší uživatelské zkušenosti ve vaší aplikaci

Využitím režimu údržby ve vaší aplikaci můžete věci usnadnit vám i vašim uživatelům. Dočasným zakázáním přístupu k celé nebo části vaší aplikace během aktualizací nebo úkolů údržby můžete minimalizovat narušení a chyby, které mohou vzniknout v důsledku souběžných interakcí uživatelů.

Použití režimu údržby vám nejen umožní efektivně provádět potřebné aktualizace, ale také demonstruje závazek poskytovat uživatelům plynulé a nepřerušované prostředí.

Kromě režimu údržby můžete také poskytnout vlastní šablony pro další chyby v Django.