Att tänka på vid distribuering

Slutförd

Ett program som körs i en produktionsmiljö har en annan uppsättning behov och krav än i en utvecklingsmiljö. I synnerhet är säkerhets- och prestandaproblem inte lika viktiga under utvecklingen som i produktion. Därför måste du se till att webbplatsen är korrekt konfigurerad före distributionen.

Django tillhandahåller en fullständig checklista med konfigurationsuppdateringar för fördistribution. I följande avsnitt beskrivs några vanliga ändringar som du vill göra innan du distribuerar appen till produktion.

Felsökningsläge

Som utvecklare vill du se eventuella felmeddelanden som ditt program kan generera. Men den här informationen kan ge en angripare insikter om hur ditt program körs, vilket potentiellt tillåter obehörig åtkomst. I settings.py anger DEBUG du alternativet till False innan du distribuerar appen till produktion.

Hemlig nyckel

För att skydda känslig information använder Django en hemlig nyckel för att signera alla värden som inte får manipuleras. Under utvecklingen lagras den hemliga nyckeln i klartext i settings.py. När du distribuerar till produktion bör den hemliga nyckeln läsas från en säkrare plats, till exempel Azure App Inställningar eller Azure Key Vault.

Tillåtna värdar

Filen settings.py innehåller en lista med servernamn som heter ALLOWED_HOSTS. Den här listan avgör var ditt program kan köras. Som standard tillåter den tomma listan att appen körs från localhost. Uppdatera den här inställningen innan du distribuerar till produktionsvärden.

Statiska filer

Statiska filer är filer som inte ingår i Django-templateringssystemet. Dessa filer innehåller vanligtvis JavaScript- eller CSS-filer. Men de kan också innehålla statiska HTML-filer. I synnerhet använder administratörswebbplatsen statiska filer för formatering och formatering.

Medan din app är under utveckling, hanterar Django automatiskt alla statiska filer. I produktion måste du konfigurera en tjänst för att hantera statiska filer. En vanlig lösning är ett WhiteNoise-bibliotek .

Under distributionsprocessen samlas alla statiska filer in på den plats som anges i STATIC_ROOT settings.py. De samlas in genom att köra python manage.py collectstatic. Azure kör automatiskt det här kommandot, så du behöver inte köra det lokalt före distributionen.