Django:不適切に構成されています:SECRET_KEY設定を空にすることはできません

| | | | | | | | | |

いくつかの基本設定を含む複数の設定ファイル(開発、本番、..)を設定しようとしています。しかし成功することはできません。 ./ manage.py runserver を実行しようとすると、次のエラーが発生します:

 (cb)clime @ den / srv / www / cb $ ./ manage.py runserver不適切に構成:SECRET_KEY設定を空にすることはできません。  

これが私の設定モジュールです:

 (cb)clime @ den / srv / www / cb / cb / settings$ll合計24-rw- rw-r--。 1 clime clime 8230 Oct 2 02:56base.py-rw-rw-r--。 1 clime clime 489 Oct 2 03:09development.py-rw-rw-r--。 1 clime clime 24 Oct 202:34__init__。py-rw-rw-r--。 1 clime clime 471 Oct 2 02:51 product.py  

基本設定(SECRET_KEYを含む):

 (cb)clime @ den / srv / www / cb / cb / settings $ cat base.py:#cbプロジェクトのDjangoベース設定。 import django.conf.global_settings as defaults DEBUG = False TEMPLATE_DEBUG = False INTERNAL_IPS =( "127.0.0.1"、)ADMINS =(( "clime"、 "[email protected]")、)MANAGERS = ADMINS DATABASES = {"default ":{#" ENGINE ":" django.db.backends.postgresql_psycopg2 "、#" postgresql_psycopg2 "、" mysql "、"sqlite3"または"oracle"を追加します。 "ENGINE": "django.db.backends.postgresql_psycopg2"、 "NAME": "cwu"、#またはsqlite3を使用している場合はデータベースファイルへのパス。 "USER": "clime"、#sqlite3では使用されません。 "PASSWORD": ""、#sqlite3では使用されません。 "HOST": ""、#ローカルホストの空の文字列に設定します。 sqlite3では使用されません。 "PORT": ""、#デフォルトでは空の文字列に設定します。 sqlite3では使用されません。 }}#このインストールのローカルタイムゾーン。選択肢はここにあります:#http://en.wikipedia.org/wiki/List_of_tz_zones_by_name#すべてのオペレーティングシステムですべての選択肢が利用できるわけではありませんが。 #Windows環境では、これをシステムのタイムゾーンに設定する必要があります。 TIME_ZONE = "Europe /プラハ"#このインストールの言語コード。すべての選択肢はここにあります:#http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = "en-us" SITE_ID = 1#これをFalseに設定すると、Djangoは次のようにいくつかの最適化を行います。 #国際化機構をロードするのではありません。 USE_I18N = False#これをFalseに設定すると、Djangoは現在のロケールに従って日付、数値、および#カレンダーをフォーマットしません。 USE_L10N = False#TODO:これを真にして慣習的な日時入力DATE_INPUT_FORMATS = defaults.DATE_INPUT_FORMATS +( "%d%b%y"、 "%d%b、%y")#+( "25 Oct 13"、 " 25 Oct、13 ")#これをFalseに設定すると、Djangoはタイムゾーン対応の日時を使用しません。 USE_TZ = True#ユーザーがアップロードしたファイルを保持するディレクトリへの絶対ファイルシステムパス。 #例: "/ home / media / media.lawrence.com / media /" MEDIA_ROOT = "/ srv / www / cb / media" #MEDIA_ROOTから提供されるメディアを処理するURL。必ず末尾に#スラッシュを使用してください。 #例: "http://media.lawrence.com/media/"、 "http://example.com/media/" MEDIA_URL = "/ media /"#静的ファイルを収集するディレクトリへの絶対パス。 #自分でこのディレクトリに何も入れないでください。静的ファイルを#アプリの「static/」サブディレクトリとSTATICFILES_DIRSに保存してください。 #例: "/ home / media / media.lawrence.com / static /" STATIC_ROOT = "/ srv / www / cb / static"#静的ファイルのURLプレフィックス。 #例: "http://media.lawrence.com/static/" STATIC_URL = "/ static /"#静的ファイルの追加の場所STATICFILES_DIRS =(#ここに "/ home / html/static"や"Cなどの文字列を入力します:/ www / django / static "。#Windowsでも常にスラッシュを使用します。#相対パスではなく絶対パスを使用することを忘れないでください。)#さまざまな場所で静的ファイルを見つける方法を知っているファインダークラスのリスト.STATICFILES_FINDERS =( "django.contrib.staticfiles.finders.FileSystemFinder"、 "django.contrib.staticfiles.finders.AppDirectoriesFinder"、# "django.contrib.staticfiles.finders.DefaultStorageFinder"、)#これを一意にして、ドン "誰とでも共有できます。 SECRET_KEY = "8lu * 6g0lg)9z!ba + a $ ehk)xt)x%rxgb $ i1& amp; 022shmi1jcgihb *"#さまざまなソースからテンプレートをインポートする方法を知っている呼び出し可能オブジェクトのリスト。 TEMPLATE_LOADERS =( "django.template.loaders.filesystem.Loader"、 "django.template.loaders.app_directories.Loader"、# "django.template.loaders.eggs.Loader"、)TEMPLATE_CONTEXT_PROCESSORS =( "django.contrib.auth .context_processors.auth "、" django.core.context_processors.request "、" django.core.context_processors.debug "、" django.core.context_processors.i18n "、" django.core.context_processors.media "、" django.core .context_processors.static "、" django.core.context_processors.tz "、" django.contrib.messages.context_processors.messages "、" web.context.inbox "、" web.context.base "、" web.context.main_search "、" web.context.enums "、)MIDDLEWARE_CLASSES =(" django.middleware.common.CommonMiddleware "、" django.contrib.sessions.middleware.SessionMiddleware "、" django.middleware.csrf.CsrfViewMiddleware "、" django.contrib .auth.middleware.AuthenticationMiddleware "、" django.contrib.messages.middleware.MessageMiddleware "、" watson.middleware.SearchContextMiddleware "、" debug_toolbar.middleware.DebugToolbarMiddleware "、" middleware.UserMemberMiddleware "、" middleware.ProfilerMiddleware "、" middleware.VaryOnAcceptMiddleware "、#単純なクリックジャック保護のために次の行のコメントを解除します:#" django.middleware.clickjacking.XFrameOptionsMiddleware "、)ROOT_URLCONF =" cb.urls "# Djangoのrunserverによって使用されるWSGIアプリケーションへのPythonドットパス。 WSGI_APPLICATION = "cb.wsgi.application" TEMPLATE_DIRS =(#ここに「/home/html/django_templates」や「C:/ www / django / templates」などの文字列を入力します。#Windowsでも、常に前方スラッシュを使用します。#ドン"相対パスではなく絶対パスを使用することを忘れないでください。"/srv / www / cb / web / templates "、" / srv / www / cb / templates "、)INSTALLED_APPS =(" django.contrib.auth "、" django .contrib.contenttypes "、" django.contrib.sessions "、" django.contrib.sites "、" django.contrib.messages "、" django.contrib.staticfiles "、" south "、" grappelli "、#前にある必要がありますadmin "django.contrib.admin"、 "django.contrib.admindocs"、 "endless_pagination"、 "debug_toolbar"、 "djangoratings"、 "watson"、 "web"、)AUTH_USER_MODEL = "web.User"#サンプルのログ設定。この構成によって実行される唯一の具体的なロギングは、#DEBUG =Falseの場合にHTTP500エラーごとにサイト管理者に電子メールを送信することです。#http://docs.djangoproject.com/en/dev/topics/loggingを参照してください。 #ロギング構成をカスタマイズする方法の詳細。LOGGING= { "version":1、 "disable_existing_loggers":False、 "filters":{"require_debug_false":{"()": "django.utils.log.RequireDebugFalse"}}、 "formatters":{"standard":{" format ":" [%(asctime)s]%(levelname)s [%(name)s:%(lineno)s]%(message)s "、" datefmt ":"%d /%b /%Y% H:%M:%S "}、}、" handlers ":{" mail_admins ":{" level ":" ERROR "、" filters ":[" require_debug_false "]、" class ":" django.utils.log .AdminEmailHandler "}、" null ":{" level ":" DEBUG "、" class ":" django.utils.log.NullHandler "、}、" logfile ":{" level ":" DEBUG "、" class " :"logging.handlers.RotatingFileHandler"、 "filename": "/srv/www/cb/logs/application.log"、 "maxBytes":50000、 "backupCount":2、 "formatter": "standard"、}、 "console":{"level": "INFO"、 "class": "logging.StreamHandler"、 "formatter": "standard"}、}、 "loggers":{"django.request":{"handlers": ["mail_admins"]、 "level": "ERROR"、 "propagate":True、}、 "django":{"handlers":["console"]、 "propagate":True、 "level": "WARN" 、}、 "django.db.backends":{"handlers":["console"]、 "level": "DEBUG"、 "propagate":False、}、 "web":{"handlers":["console"、 "logfile"]、 "level": "DEBUG"、}、}、} LOGIN_URL = "login" LOGOUT_URL = "logout" #ENDLESS_PAGINATION_LOADING = "" "#< img src =" /static/web/img/preloader.gif "alt =" loading "style =" margin:auto "/> #"" "ENDLESS_PAGINATION_LOADING =" ""< div class = "spinner small" style = "margin:auto"> < div class = "block_1 spinner_block small">< / div> < div class = "block_2 spinner_block small">< / div> < div class = "block_3 spinner_block small">< / div> < / div> "" "DEBUG_TOOLBAR_CONFIG = {" INTERCEPT_REDIRECTS ":False、} import django.template.loader django.template.loader.add_to_builtins(" web.templatetags.cb_tags ")django.template.loader.add_to_builtins(" web.templatetags.tag_library " )WATSON_POSTGRESQL_SEARCH_CONFIG = "public.english_nostop"  

設定ファイルの1つ:

 (cb)clime @ den / srv / www / cb / cb / settings $ cat development.py from base import * DEBUG = True TEMPLATE_DEBUG = True ALLOWED_HOSTS = ["127.0.0.1"、 "31.31.78.149"] DATABASES = {"default":{"ENGINE":"django.db.backends。 postgresql_psycopg2 "、" NAME ":" cwu "、" USER ":" clime "、" PASSWORD ":" "、" HOST ":" "、" PORT ":" "、}} MEDIA_ROOT =" / srv / www / cb / media / "STATIC_ROOT =" / srv / www / cb / static / "TEMPLATE_DIRS =" / srv / www / cb / web / templates "、" / srv / www / cb / templates "、) 

manage.py のコード:

 (cb)clime @ den / srv / www / cb $ cat manage.py#!/ usr / bin / env python import os import sys if __name__ == "__main __":os.environ.setdefault ("DJANGO_SETTINGS_MODULE"、 "cb.settings.development")from django.core.management import execute_from_command_line execute_from_command_line(sys.argv) 

ベースインポートからを追加した場合*/srv/www/cb/cb/settings/__init__.py(それ以外は空)に入れると、魔法のように機能し始めますが、理由がわかりません。誰でもここで何が起こっているのか説明できますか?これはpythonモジュールの魔法である必要があります。

編集:この行をbase.pyから削除すると、すべてが機能し始めます。

  django.template.loader.add_to_builtins( "web.templatetags.cb_tags") 

この行をweb.templatetags.cb_tagsから削除すると、また、機能し始めます:

  from endless_pagination.templatetags import endless  

結局、それは

<につながるからだと思いますpre> from django.conf import settings PER_PAGE = getattr(settings、 "ENDLESS_PAGINATION_PER_PAGE"、10)

つまり、奇妙な円形のものが作成され、ゲームオーバーになります。

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method