Wie kann ich das deaktivieren Djangos admin in einem Projekt bereitgestellt, aber halten Sie es für die lokale Entwicklung?
Ich bin zurzeit in einem Django-Projekt, für das brauche ich Zugang zum admin-Bereich für die lokale Entwicklung, sondern möchten, deaktivieren Sie es in die bereitgestellte Website (aus Gründen der Sicherheit, u.a.).
Wie kann ich erreichen, das programmgesteuert (ie Verwendung settings.py
).
Vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens schaffen Sie eine Regelung, so dass Ihre Produktions-server können unterschiedliche Einstellungen haben als Ihre Entwicklung Servern. Ein einfacher Weg, dies zu tun ist mit einem source-control-ignoriert local_settings.py Datei, aber es gibt viele Liebhaber von Möglichkeiten, es zu tun.
Dann in Ihrer settings.py Datei setzen:
und in Ihrer Produktion-nur die settings-Datei setzen:
Dann in Ihre urls.py:
Ausweitung @NedBatchelder
's beantworten, möchten Sie vielleicht, um die ordnungsgemäße Verwendung
if statement
wie diese:Und auch entfernen
'django.contrib.admin'
ausINSTALLED_APPS = [...]
, und verwenden Sie den gleichen Zustand:Diese Weise wird das Modul nicht geladen werden, und für zB.
collectstatic
nicht kopieren unnötige statische Dateien verwendet, die nur im admin (Schriften, Bilder, css, js).