Implementatieoverwegingen

Voltooid

Een toepassing die wordt uitgevoerd in een productieomgeving heeft een andere set behoeften en vereisten dan in een ontwikkelomgeving. Beveiligings- en prestatieproblemen zijn met name niet zo kritiek tijdens de ontwikkeling als in productie. U moet er dus voor zorgen dat uw website correct is geconfigureerd voordat deze wordt geïmplementeerd.

Django biedt een volledige controlelijst met configuratie-updates voor predeployment. In de volgende secties worden enkele algemene wijzigingen beschreven die u wilt aanbrengen voordat u uw app in productie implementeert.

Foutopsporingsmodus

Als ontwikkelaar wilt u foutberichten zien die uw toepassing kan genereren. Maar deze informatie kan een aanvaller inzicht geven in hoe uw toepassing wordt uitgevoerd, waardoor onbevoegde toegang mogelijk wordt toegestaan. Stel in settings.py dus de DEBUG optie False in voordat u uw app in productie implementeert.

Geheime sleutel

Om gevoelige informatie te beschermen, gebruikt Django een geheime sleutel om waarden te ondertekenen waarmee niet mag worden geknoeid. Tijdens de ontwikkeling wordt de geheime sleutel opgeslagen in duidelijke tekst in settings.py. Wanneer u in productie implementeert, moet de geheime sleutel worden gelezen vanaf een veiligere locatie, zoals Azure-app Instellingen of Azure Key Vault.

Toegestane hosts

Het bestand settings.py bevat een lijst met servernamen met de naam ALLOWED_HOSTS. Deze lijst bepaalt waar uw toepassing kan worden uitgevoerd. Met de lege lijst kan de app standaard worden uitgevoerd vanaf localhost. Werk deze instelling bij voordat u implementeert op uw productiehost.

Statische bestanden

Statische bestanden zijn bestanden die geen deel uitmaken van het Django-sjablonensysteem. Deze bestanden bevatten doorgaans JavaScript- of CSS-bestanden. Maar ze kunnen ook statische HTML-bestanden bevatten. De beheersite maakt met name gebruik van statische bestanden voor stijl en opmaak.

Terwijl uw app in ontwikkeling is, dient Django automatisch statische bestanden. In productie moet u een service configureren voor het leveren van statische bestanden. Een veelvoorkomende oplossing is een WhiteNoise-bibliotheek .

Tijdens het implementatieproces worden alle statische bestanden verzameld op de locatie die in settings.py wordt aangegevenSTATIC_ROOT. Ze worden verzameld door uit te voeren python manage.py collectstatic. Azure voert deze opdracht automatisch uit, dus u hoeft deze niet lokaal uit te voeren voordat u de implementatie uitvoert.