Lär dig hur du effektivt aktiverar underhållsläge på din Django-app samtidigt som du säkerställer en sömlös upplevelse för dina användare.
Att sätta din Django-app i underhållsläge är avgörande när du ska utföra uppdateringar, lösa tekniska problem eller göra betydande ändringar i din applikation.
Genom att tillfälligt begränsa användaråtkomst och visa en underhållssida kan du kommunicera viktiga meddelanden, säkerställa en smidig uppdateringsprocess och förhindra potentiella konflikter eller dataförlust.
Oavsett om du är en utvecklare eller systemadministratör, kommer du att förstå hur man implementerar underhållsläge i Django att du kan upprätthålla en pålitlig och användarvänlig applikation.
Hur man använder Django-Maintenance-Mode-paketet
På grund av dess omfattande community-stöd erbjuder Django ett brett utbud av paket som avsevärt kan förbättra din utvecklingsprocess, vilket möjliggör snabbare och mer effektivt arbete. Dessa paket lindrar bördan av repetitiva uppgifter och säkerställer en smidigare upplevelse för dig som utvecklare.
Ett av paketen som tillhandahålls av Django är django-underhållsläge paket som du kan använda för att sätta din Django-app i underhållsläge. De django-underhållsläge paketet fungerar genom att visa en sida för 503HTTP-statuskod. Du kan använda django-underhållsläge i din app med följande steg.
Steg 1: Installera Django-Maintenance-Mode i din virtuella miljö
- I din projektets virtuella miljö, installera paketet med Pythons pip-pakethanterare. Kör detta kommando i din kommandoradsgränssnitt (CLI):
pip installera django-underhållsläge
- När du har installerat paketet, lägg till underhållsläge till INSTALLERADE_APPAR lista i din settings.py fil:
INSTALLED_APPS = [
# några andra appar,
'underhållsläge',
] - Lägg sedan till mellanvaran för django-underhållsläge till MEDELVERK lista i din settings.py fil:
MEDELVARA = [
# någon annan mellanprogram från django,
'maintenance_mode.middleware. Maintenance ModeMiddleware',
]
Steg 2: Skapa en HTML-mall för att visa meddelandet om underhållsläge
För django-underhållsläge paket för att visa en 503-felsida, letar den efter en 503.html mallfil i mallar katalog. För att ställa in detta, gör följande:
- Skapa en mapp som heter mallar i din rotkatalog.
- Öppna din nyskapade mallar mapp och skapa en fil som heter 503.html.
- I din settings.py fil, leta reda på MALLAR inställningar och konfigurera DIRS lista i den så här:
"DIRS": [BASE_DIR/"mallar"],
- Öppna din 503.html fil och skriv HTML-koden för att visa ett felmeddelande till dina användare. Här är en enkel kod som du kan använda:
html>
<html>
<huvud>
<metateckenuppsättning="UTF-8">
<titel>503 Tjänst Otillgängligtitel>
<stil>
kropp {
font-family: Arial, sans-serif;
bakgrundsfärg: #f5f5f5;
marginal: 0;
stoppning: 0;
}
.container-503 {
max-bredd: 600px;
marginal: 100px auto;
text-align: center;
}
h1 {
teckenstorlek: 48px;
färg: #333333;
margin-bottom: 20px;
}
p {
teckenstorlek: 18px;
färg: #666666;
margin-bottom: 30px;
}
.btn-503 {
display: inline-block;
stoppning: 12px 24px;
bakgrundsfärg: #007bff;
färg: #ffffff;
text-dekoration: ingen;
border-radie: 4px;
teckenstorlek: 18px;
}
stil>
huvud>
<kropp>
<divklass = "container-503">
<h1>503 Tjänst Otillgängligh1>
<sid>
hoppsan! Vi arbetar just nu med några uppdateringar.
Vi ber om ursäkt för besväret och uppskattar ditt tålamod.
sid>
<sid>Besök gärna webbplatsen senare eller kontakta vårt supportteamsid>
<ahref = "mailto: [email protected]"klass = "btn-503">
Kontakta supporten
a>
div>
kropp>
html>
Steg 3: Slå på underhållsläge och starta om servern
I din settings.py fil, lägg till den här koden för att aktivera underhållsläget:
MAINTENANCE_MODE = Sann
Starta om din utvecklingsserver genom att köra detta i din CLI:
python manage.py runserver
När du navigerar till din webbplats bör du se underhållssidan du skapade.
Hur man ignorerar adminwebbplatsen i Django-underhållsläge
För att tillåta din administratörswebbplats att fortsätta fungera även i underhållsläge django-underhållsläge tillhandahåller en inställning som kallas MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Du bör lägga till den här inställningen i din settings.py fil och ställ in den på Sann:
MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Sann
Standardvärdet för ovanstående inställning är Falsk; därför kommer din adminwebbplats att påverkas av sidan för underhållsläge om du inte ställer in den på Sann.
Hur man ignorerar en specifik funktionsbaserad vy i Django underhållsläge
De django-underhållsläge paketet tillhandahåller en dekoratör för att förhindra en viss vy eller sida—såsom Handla om sidan på din webbplats – från att gå in i underhållsläge. För att göra detta, importera först dekoratorn till din views.py modul:
från underhållsläge.dekoratörer importera force_maintenance_mode_off
När du har importerat dekoratören lägger du till den i din vy så här:
@force_maintenance_mode_off
defview_name(begäran):
# utför visningslogik
# returnera aldrig 503-svar
Efter att ha implementerat dekoratorn på rätt sätt blir webbadressen för den specifika vyn tillgänglig för dina användare.
Hur man ignorerar en specifik klassbaserad vy i Django underhållsläge
Att ignorera en klassbaserad vy liknar att ignorera en funktionsbaserad vy. Det bästa tillvägagångssättet är dock att göra det i urls.py fil.
Först måste du importera force_maintenance_mode_off dekoratör i din app urls.py fil. Sedan måste du inkludera den i din URL-sökväg. Här är ett exempel:
från underhållsläge.dekoratörer importera force_maintenance_mode_off
från .visningar importera Din åsikt
urlpatterns = [
# returnera aldrig 503-svar
väg('', force_maintenance_mode_off (YourView.as_view()), name='min_vy'),
]
Se till att du också importerar andra nödvändiga saker som väg och din klassbaserade vy.
Hur man aktiverar underhållsläge för en specifik funktionsbaserad vy
- För att aktivera underhållsläget för en enda vy, stäng först av underhållsläget i din settings.py fil genom att göra så här:
MAINTENANCE_MODE = Falsk
- Nästa, i din views.py, du bör importera force_maintenance_mode_on dekoratör och lägg till den i din vy:
från underhållsläge.dekoratörer importera force_maintenance_mode_on
@force_maintenance_mode_on
defview_name(begäran):
# Utför vylogik
# Returnera alltid 503-svar
Hur man aktiverar underhållsläge för en specifik klassbaserad vy
- Först bör du stänga av underhållsläget i din settings.py fil:
MAINTENANCE_MODE = Falsk
- Nästa, i din urls.py, bör du importera force_maintenance_mode_on decorator och lägg till den i den nödvändiga URL-sökvägen:
från underhållsläge.dekoratörer importera force_maintenance_mode_on
från .visningar importera Din åsikturlpatterns = [
# Returnera alltid 503-svar
väg('', force_maintenance_mode_on (YourView.as_view()), name='min_vy'),
]
Hur man använder ett annat mallnamn för Django-underhållsläge
Som standard är django-underhållsläge paketet letar efter en templates/503.html mall. Du kan välja att åsidosätta detta i settings.py fil.
Anta att du har en separat mapp för att hantera fel i din app; du vill inkludera din 503.html mallen i den här mappen. Så din mall kommer att finnas med mallar/errors/503.html.
Standardinställningen för denna konfiguration är följande:
MAINTENANCE_MODE_TEMPLATE = "503.html"
För att åsidosätta den bör du lägga till en annan sökväg som pekar till din felsida. Här är ett exempel:
MAINTENANCE_MODE_TEMPLATE = "errors/503.html"
Du kan också ändra filnamnet om du vill, och allt kommer att fungera bra om du lägger till de nödvändiga konfigurationerna.
Bortsett från ovanstående konfigurationer, django-underhållsläge paketet tillhandahåller andra intressanta konfigurationer för att hjälpa dig att anpassa din app underhållsläge efter dina specifika behov. Du kan läsa om dessa konfigurationer i dokumentation för django-underhållsläge.
Använd underhållsläge för att säkerställa sömlösa uppdateringar och förbättrad användarupplevelse i din app
Att utnyttja underhållsläget i din app kan göra det enklare för dig och dina användare. Genom att tillfälligt inaktivera åtkomst till hela eller delar av din app under uppdateringar eller underhållsuppgifter kan du minimera störningar och fel som kan uppstå från samtidiga användarinteraktioner.
Genom att använda underhållsläget kan du inte bara utföra nödvändiga uppdateringar effektivt utan visar också ett engagemang för att tillhandahålla en smidig och oavbruten upplevelse för dina användare.
Förutom underhållsläge kan du också tillhandahålla anpassade mallar för andra fel i Django.