- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现 dj_database_url 但在运行 collectstatic
时收到错误。
继dj_database_url readme之后,以及 Heroku 概述的步骤 here ,我将其添加到我的 settings.py 的底部:
import dj_database_url
DATABASES['default'] = dj_database_url.config(default='postgis://USER:PASSWORD@HOST:PORT/NAME')
DATABASES['default']['ENGINE'] = 'django.contrib.gis.db.backends.postgis'
GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH')
添加后,collectstatic 会给我这个回溯:
Traceback (most recent call last):
File "./manage.py", line 29, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 308, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 110, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/src/app/config/settings/production.py", line 211, in <module>
DATABASES['default'] = dj_database_url.config(default='postgis://USER:PASSWORD@HOST:PORT/NAME')
File "/usr/local/lib/python3.6/site-packages/dj_database_url.py", line 55, in config
config = parse(s, engine, conn_max_age, ssl_require)
File "/usr/local/lib/python3.6/site-packages/dj_database_url.py", line 103, in parse
engine = SCHEMES[url.scheme] if engine is None else engine
KeyError: ''
关于这个问题的文档很少。我确实发现了这个 github 问题:https://github.com/vitorfs/bootcamp/issues/78
这建议我编辑我的 ALLOWED_HOSTS。我已经尝试过了,但没有用。
这是回溯底部引用的代码行:
https://github.com/kennethreitz/dj-database-url/blob/master/dj_database_url.py#L103
根据我的理解,它似乎需要一个引擎,它是一个方案(?),例如“sqlite”或“postgis”。我确实相信我正在设置合适的引擎。是否需要在其他地方设置?
我尝试将代码顺序反转为:
...
DATABASES['default']['ENGINE'] = 'django.contrib.gis.db.backends.postgis'
DATABASES['default'] = dj_database_url.config(default='postgis://USER:PASSWORD@HOST:PORT/NAME')
也无济于事。
最佳答案
错误是特定的。您正在尝试使用空字符串作为键访问字典 (SCHEMES
)(因此 url.scheme
的值是 ''
)。现在,dj_database_url
将首先尝试从 DATABASE_URL
环境值中获取 URL,如果找不到此变量,则将使用默认值。从您得到的错误中可以明显看出默认值并未实际使用,因此它会尝试从 DATABASE_URL
环境变量中解析 url。您如何运行 collectstatic
管理命令?在运行之前尝试显式设置 DATABASE_URL
。例如,打开一个 bash shell 并运行如下命令
DATABASE_URL=postgis://USER:PASSWORD@HOST:PORT/NAME python manage.py collectstatic
(当然是替换正确的值)。它应该像这样运行。
关于django - 由于 dj_database_url(),Collectstatic 返回 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509711/
我不知道我是否混淆了 collectstatic 的目的.这是我的设置模块 : # BASE_DIR is the location of my django project folder STATI
这有效: ./manage.py collectstatic -i bower_components 这不会: ./manage.py collectstatic -i bower_component
我试图从 collectstatic 的静态文件夹中排除一些文件和目录命令。 static -sample -css -dest -vendor index.cs
我正在尝试将应用程序升级到 Django 1.11,但遇到 collectstatic 问题。 旧版本: django 1.8.17 django-storages 1.5.1 新版本: django
我是 django 的新手!当我使用命令 python manage.py collectstatic 我得到这个错误 django.core.exceptions.ImproperlyConfigu
我有一个带有scraper 的 Django 网站,它每天都下载图片,所以我想用 crontab 自动执行 collectstatic我试过这个添加到 crontab.cr yes | python2
尝试收集我的静态文件,因为我很快就会部署我的网站。接收: Unknown command: 'collectstatic' 查看 django-admin 帮助后我收到此警告: (error: Req
只是为了解决这个问题,如果可能的话,我想这样做而不将它们全部嵌套在应用程序的静态文件夹中的应用程序名称的目录中,这感觉是多余的。如果这是唯一的方式,那么这就是生活。 我在用: STATICFILES_
有没有办法让python manage.py collectstatic找到更新的静态文件?目前,它正在正确搜索STATICFILES_DIRS并找到我的静态文件的位置,但它只上传新文件。如果我修改静
在我的 deb postinst 文件中: PYTHON=/usr/bin/python PYTHON_VERSION=`$PYTHON -c 'import sys; print sys.versi
我有 Django 设置来收集我的静态文件并使用 django-storages 将它们复制到 S3 中,当我显式运行时这就像一个魅力 heroku run python manage.py coll
每次推送到 Heroku 时,我都会运行 collectstatic --noinput。新文件被复制,但有更改的旧文件不会被覆盖。但是,删除文件并推送到 heroku 会按预期替换该特定文件。 如何
我正在使用 Django 1.3.1 和 contrib.collectstatic 应用程序来管理我的静态文件。 我的项目结构是 myproject - settings.py -
在 django 1.7 中,collectstatic 为我抛出一个异常: OSError: [Errno 2] No such file or directory: '/static' 我已经执行
我正在尝试在我的 Ubuntu 服务器中运行以下命令: ./manage.py collectstatic -v 0 --noinput 我收到此错误消息: Traceback (most recen
我有一堆正在使用 collectstatic 处理的 css/js 文件。它们在我的 staticfiles 目录中成功创建,并附加了数字。 (env)zain@gandalf ~/projects/
我在 GitHub 上有一个基于 Django 的项目,我希望每个人都能够使用一键部署按钮进行部署。它不使用 django.contrib.staticfiles 应用。 我在项目的根目录下有以下 a
在 Django 中,约定是将应用程序特定的所有静态文件(即 css、js)放入名为 static 的文件夹中。所以结构看起来像这样: mysite/ manage.py mysite
当我给出命令“python manage.py collectstatic”时,出现以下问题 "0 static files copied to '/home/leonard368a/leonard3
我正在使用 Django3,目前我的 makefile 中有以下用于“构建”的命令 python3 manage.py collectstatic 为了使用管道自动化我的构建过程,我想摆脱询问的提示
我是一名优秀的程序员,十分优秀!