Wenn Sie das Django-Modul in settings.py importieren, werden Sie wütend, da beim Ersetzen von Einstellungen keine SECRET_KEY-Einstellung vorhanden ist.
Add_to_builtins ('bootstrap3.templatetags.bootstrap3')
in settings.py
Es scheint nicht notwendig zu sein, "{% load bootstrap3%}" am Anfang der Vorlage zu schreiben.
Deshalb habe ich es sofort geschrieben.
from django.template.base import add_to_builtins
add_to_builtins('bootstrap3.templatetags.bootstrap3')
django kann die verwendeten Einstellungen ändern, indem die Option --settings
übergeben wird, wenn der Befehl manage.py
ausgeführt wird.
Bereiten Sie auf diese Weise die Einstellungen für den Test und die Einstellungen für die Bereitstellung sowie beim Start in der Testumgebung oder Produktionsumgebung vor
$ python manage.py runserver --settings=myproject.settings_production
Führen Sie wie folgt aus.
Hinweis: Im Fall von Gunicorn sieht es so aus
$ gunicorn -w 2 myproject.wsgi:application --settings=myproject.settings_production --bind=unix:///tmp/myproject.sock
Da sich die Einstellungen für die Produktionsumgebung vom DEBUG-Flag und der Datenbank unterscheiden, Importieren Sie die Standardeinstellungen wie unten gezeigt und überschreiben Sie nur die erforderlichen Variablen.
from .settings import *
DEBUG = False
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
...
}
}
Hintergrund 1 (Import von django.template.base in settings.py) und Hintergrund 2 (Einstellungen ersetzen)
Der folgende Fehler wird ausgelöst und gelöscht.
import django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Da ich in den Einstellungen django angerufen und dann die Einstellungen darin aufgerufen habe, Es scheint, dass der Import von Standardeinstellungen durch die Verhinderung von Endlosschleifen unterdrückt wurde.
Führen Sie "add_to_builtins" in settings.py aus. Dies scheint schlecht zu sein. Gehen Sie also zu "myproject / __ init __. Py". Bei der Ausführung mit Gunicorn können Sie jedoch wütend werden, wenn beim Importieren von Django in "myproject / __ init __. Py" keine Umgebungsvariable "DJANGO_SETTINGS_MODULE" vorhanden ist (abhängig vom zu ladenden Modul).
ImproperlyConfigured: Requested setting BOOTSTRAP3, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
\ # bootstrap3 scheint die Einstellungen darin zu lesen.
Der Inhalt von "myproject / __ init __. Py" unter Berücksichtigung des Starts von gunicorn ist also so.
import os
from django.template.base import add_to_builtins
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mailer.settings")
add_to_builtins('bootstrap3.templatetags.bootstrap3')
Recommended Posts