Ismerje meg, hogyan aktiválhatja hatékonyan a karbantartási módot a Django alkalmazásban, miközben zökkenőmentes élményt biztosít a felhasználók számára.

A Django alkalmazás karbantartási módba állítása kulcsfontosságú a frissítések végrehajtásakor, a technikai problémák megoldásakor vagy az alkalmazás jelentős módosításai során.

A felhasználói hozzáférés ideiglenes korlátozásával és a karbantartási oldal megjelenítésével fontos üzeneteket közölhet, biztosíthatja a zökkenőmentes frissítési folyamatot, és megelőzheti az esetleges konfliktusokat vagy adatvesztést.

Függetlenül attól, hogy Ön fejlesztő vagy rendszergazda, a karbantartási mód Django alkalmazásának megértése lehetővé teszi, hogy megbízható és felhasználóbarát alkalmazást tartson fenn.

A Django-karbantartási mód csomag használata

Kiterjedt közösségi támogatásának köszönhetően a Django csomagok széles skáláját kínálja, amelyek jelentősen javíthatják a fejlesztési folyamatot, lehetővé téve a gyorsabb és hatékonyabb munkát. Ezek a csomagok enyhítik az ismétlődő feladatok terhét, így fejlesztőként gördülékenyebb élményt nyújtanak.

instagram viewer

A Django által biztosított egyik csomag a django-karbantartási mód csomag, amellyel a Django alkalmazást karbantartási módba helyezheti. A django-karbantartási mód csomag úgy működik, hogy megjelenít egy oldalt a 503HTTP állapotkód. Te tudod használni django-karbantartási mód alkalmazásában a következő lépésekkel.

1. lépés: Telepítse a Django-Maintenance-Mode-t a virtuális környezetébe

  1. A tiédben projekt virtuális környezetében, telepítse a csomagot a Python pip csomagkezelőjével. Futtassa ezt a parancsot a saját parancssori felület (CLI):
    pip install django-maintenance-mode
  2. A csomag telepítése után add hozzá Karbantartás Mód hoz INSTALLED_APPS listája a tiédben settings.py fájl:
    INSTALLED_APPS = [
    # néhány más alkalmazás,
    'Karbantartás Mód',
    ]
  3. Ezután adja hozzá a köztes szoftvert django-karbantartási mód hoz KÖZÉPVER listája a tiédben settings.py fájl:
    MIDDLEWARE = ​​[
    # néhány másik köztes szoftver a django-tól,
    'maintenance_mode.middleware. MaintenanceModeMiddleware',
    ]

2. lépés: Hozzon létre egy HTML-sablont a Karbantartási mód üzenetének megjelenítéséhez

A django-karbantartási mód csomagot az 503-as hibaoldal megjelenítéséhez, az a 503.html sablon fájlt a sablonokat Könyvtár. Ennek beállításához tegye a következőket:

  1. Hozzon létre egy mappát, melynek neve sablonokat gyökérkönyvtárában.
  2. Nyissa meg az újonnan létrehozott sablonokat mappát, és hozzon létre egy fájlt 503.html.
  3. A tiédben settings.py fájlt, keresse meg a SABLONOK beállításokat és konfigurálja a DIRS listája benne így:
    "DIRS": [BASE_DIR/"sablonok"],
  4. Nyissa meg 503.html fájlt, és írja be a HTML-kódot, hogy hibaüzenetet jelenítsen meg a felhasználók számára. Íme egy egyszerű kód, amelyet használhat:
    html>
    <html>
    <fej>
    <metakarakterkészlet="UTF-8">
    <cím>503 A szolgáltatás nem elérhetőcím>
    <stílus>
    body {
    font-család: Arial, sans-serif;
    háttérszín: #f5f5f5;
    margó: 0;
    párnázás: 0;
    }

    .container-503 {
    maximális szélesség: 600 képpont;
    margó: 100px auto;
    szöveg igazítása: középre;
    }

    h1 {
    betűméret: 48 képpont;
    szín: #333333;
    margó-alsó: 20 képpont;
    }

    p {
    betűméret: 18 képpont;
    szín: #666666;
    margó-alsó: 30 képpont;
    }

    .btn-503 {
    kijelző: inline-block;
    padding: 12px 24px;
    háttérszín: #007bff;
    szín: #ffffff;
    szöveg-dekoráció: nincs;
    határsugár: 4 képpont;
    betűméret: 18 képpont;
    }
    stílus>
    fej>
    <test>
    <divosztály = "container-503">
    <h1>503 A szolgáltatás nem elérhetőh1>
    <p>
    Hoppá! Jelenleg néhány frissítésen dolgozunk.
    Elnézést kérünk a kellemetlenségért, és köszönjük türelmét.
    p>
    <p>Kérjük, látogasson el a webhelyre később, vagy lépjen kapcsolatba ügyfélszolgálatunkkalp>
    <ahref = "mailto: support@yourcompanymail.com"osztály = "btn-503">
    Lépjen kapcsolatba az ügyfélszolgálattal
    a>
    div>
    test>
    html>

3. lépés: Kapcsolja be a Karbantartási módot, és indítsa újra a szervert

A tiédben settings.py fájlt, adja hozzá ezt a kódot a karbantartási mód bekapcsolásához:

MAINTENANCE_MODE = Igaz

Indítsa újra a fejlesztői kiszolgálót a következő futtatásával a parancssori felületen:

python manage.py runserver

Amikor felkeresi webhelyét, látnia kell az Ön által létrehozott karbantartási oldalt.

Hogyan lehet figyelmen kívül hagyni a rendszergazdai webhelyet Django karbantartási módban

Annak érdekében, hogy a rendszergazdai webhely továbbra is működjön karbantartási módban is, a django-karbantartási mód nevű beállítást biztosít MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Hozzá kell adnia ezt a beállítást settings.py fájlt, és állítsa be Igaz:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Igaz

A fenti beállítás alapértelmezett értéke Hamis; így az adminisztrátori webhelyre hatással lesz a karbantartási mód oldala, ha nem állítja be Igaz.

Egy adott funkció alapú nézet figyelmen kívül hagyása Django karbantartási módban

A django-karbantartási mód csomag olyan dekorátort biztosít, amely megakadályozza egy bizonyos nézet vagy oldal – mint például a Ról ről webhelyének oldala – a karbantartási módba lépésről. Ehhez először importálja a dekorátort a sajátjába views.py modul:

tól től karbantartási_mód.dekorátorok import force_maintainance_mode_off

A dekorátor importálása után a következőképpen adja hozzá a nézetéhez:

@force_maintenance_mode_off
defview_name(kérés):
# végrehajtani a nézet logikáját
# soha ne adja vissza az 503-as választ

A dekorátor megfelelő megvalósítása után az adott nézet URL-je elérhetővé válik a felhasználók számára.

Egy adott osztályalapú nézet figyelmen kívül hagyása Django karbantartási módban

Az osztályalapú nézet figyelmen kívül hagyása hasonló a függvényalapú nézet figyelmen kívül hagyásához. A legjobb módszer azonban az, ha a urls.py fájlt.

Először is importálnia kell a force_maintainance_mode_off dekorátor az alkalmazásában urls.py fájlt. Ezután bele kell foglalnia az URL-útvonalba. Íme egy példa:

tól től karbantartási_mód.dekorátorok import force_maintainance_mode_off
tól től .nézetek import YourView

urlpatterns = [
# soha ne adja vissza az 503-as választ
pálya('', force_maintenance_mode_off (YourView.as_view()), név='az én nézetem'),
]

Győződjön meg róla, hogy más szükséges dolgokat is importál, mint pl pálya és az osztályalapú nézeted.

Hogyan lehet bekapcsolni a karbantartási módot egy adott funkció alapú nézethez

  1. Ha egyetlen nézethez szeretné bekapcsolni a karbantartási módot, először kapcsolja ki a karbantartási módot settings.py fájlt a következőképpen:
    MAINTENANCE_MODE = Hamis
  2. Következő, a tiédben views.py, importálnia kell a force_maintainance_mode_on dekoratőr, és add hozzá a nézetedhez:
    tól től karbantartási_mód.dekorátorok import force_maintainance_mode_on

    @force_maintenance_mode_on
    defview_name(kérés):
    # Nézetlogika végrehajtása
    # Mindig 503-as választ adjon vissza

A karbantartási mód bekapcsolása egy adott osztályalapú nézethez

  1. Először is ki kell kapcsolnia a karbantartási módot settings.py fájl:
    MAINTENANCE_MODE = Hamis
  2. Következő, a tiédben urls.py, importálnia kell a force_maintainance_mode_on dekorátort, és adja hozzá a szükséges URL-útvonalhoz:
    tól től karbantartási_mód.dekorátorok import force_maintainance_mode_on
    tól től .nézetek import YourView

    urlpatterns = [
    # Mindig 503-as választ adjon vissza
    pálya('', force_maintenance_mode_on (YourView.as_view()), név='az én nézetem'),
    ]

Hogyan használjunk eltérő sablonnevet a Django karbantartási módhoz

Alapértelmezés szerint a django-karbantartási mód csomag keres a templates/503.html sablon. Dönthet úgy, hogy ezt felülbírálja a settings.py fájlt.

Tegyük fel, hogy van egy külön mappája az alkalmazás hibáinak kezelésére; bele akarja majd venni a sajátját 503.html sablon ebben a mappában. Tehát a sablonod benne lesz templates/errors/503.html.

Ennek a konfigurációnak az alapértelmezett beállítása a következő:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Felülbírálásához adjon hozzá egy másik útvonalat, amely a hibaoldalra mutat. Íme egy példa:

MAINTENANCE_MODE_TEMPLATE = "errors/503.html"

A fájlnevet is módosíthatja, ha akarja, és minden rendben fog működni, ha hozzáadja a szükséges konfigurációkat.

A fenti konfigurációkon kívül a django-karbantartási mód csomag további érdekes konfigurációkat kínál, amelyek segítségével az alkalmazás karbantartási módját az Ön egyedi igényeihez szabhatja. Ezekről a konfigurációkról a django-karbantartási mód dokumentációja.

Használja a Karbantartási módot a zökkenőmentes frissítések és a továbbfejlesztett felhasználói élmény biztosításához az alkalmazásban

A karbantartási mód kihasználása az alkalmazásban megkönnyítheti a dolgát Önnek és felhasználóinak. Ha ideiglenesen letiltja a hozzáférést az alkalmazás egészéhez vagy egy részéhez a frissítések vagy karbantartási feladatok során, minimálisra csökkentheti az egyidejű felhasználói interakciókból eredő fennakadásokat és hibákat.

A karbantartási mód használata nemcsak a szükséges frissítések hatékony végrehajtását teszi lehetővé, hanem azt is mutatja, hogy elkötelezettek a felhasználók zökkenőmentes és megszakítás nélküli élményében.

A karbantartási mód mellett egyéni sablonokat is biztosíthat a Django egyéb hibáihoz.