PyCharm - 未解析的库 'staticfiles'
PyCharm - Unresolved library 'staticfiles'
我正在使用 PyCharm 开发一个 Django 项目。不幸的是 PyCharm 没有解析我想在我的模板中使用的模板标签。
{% load staticfiles %}
项目通过 vagrant 运行在 Ubuntu 虚拟机中运行。 运行 配置知道我在 VM 中使用的 virtualenv(远程解释器设置)。
我的设置是这样的:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.humanize',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.flatpages',
'django_extensions']
INSTALLED_APPS += get_core_apps(['myapp.dashboard')
STATICFILES_FINDERS = (
'compressor.finders.CompressorFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
STATIC_URL = '/static/'
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, '../../../../myfolder/static'),
)
我仍然收到警告 Unresolved library 'staticfiles'
。它也显示了与其他模板标签相同的行为。
STATICFILES_DIRS
的动态创建可能是问题所在吗?我该如何解决这个问题?
在我的例子中,这发生在 PyCharm 找不到 settings.py 文件时。这是因为我有 - local_setting、prod_setting 等。所以我转到文件 -> 设置 -> 语言和框架 -> Django -> 设置和 select 带有 django 项目设置的适当文件.
事实证明 INSTALLED_APPS
的动态创建以某种方式混淆了 PyCharm。如果 template_tags
是动态创建的,则它无法解析某些依赖项。似乎必须决定是使用漂亮的代码导航还是静态 INSTALLED_APPS
.
看起来 PyCharm 寻找最后分配给 INSTALLED_APPS 的模板标签。我 运行 遇到了类似的问题,并且能够在动态生成真实的 INSTALLED_APPS:
之后添加它来解决它
if False:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'autocomplete_light',
'django.contrib.admin',
'django.contrib.humanize',
'comunes',
'listados',
'gescomercial',
'contabilidad',
'compras',
'almacen')
不漂亮,但由于这个 settings.py 仅用于开发机器,我可以接受它。
使用 PyCharm 2019.2
,一旦在 django 首选项配置面板中正确指向 settings.py
我需要使缓存无效并在 Pycharm 正确识别所有之前重新启动templatetags 库,即使我的 INSTALLED_APPS
是动态构建的。
降低Django版本。我的情况和你一样。 setting里面的配置是正确的,但是还是提示“unresolved Library 'static files'”。之后我把Django版本调低了。pip install Django == 2.1.7。问题已经解决了。希望对你有帮助
我正在使用 PyCharm 开发一个 Django 项目。不幸的是 PyCharm 没有解析我想在我的模板中使用的模板标签。
{% load staticfiles %}
项目通过 vagrant 运行在 Ubuntu 虚拟机中运行。 运行 配置知道我在 VM 中使用的 virtualenv(远程解释器设置)。
我的设置是这样的:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.humanize',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.flatpages',
'django_extensions']
INSTALLED_APPS += get_core_apps(['myapp.dashboard')
STATICFILES_FINDERS = (
'compressor.finders.CompressorFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
STATIC_URL = '/static/'
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, '../../../../myfolder/static'),
)
我仍然收到警告 Unresolved library 'staticfiles'
。它也显示了与其他模板标签相同的行为。
STATICFILES_DIRS
的动态创建可能是问题所在吗?我该如何解决这个问题?
在我的例子中,这发生在 PyCharm 找不到 settings.py 文件时。这是因为我有 - local_setting、prod_setting 等。所以我转到文件 -> 设置 -> 语言和框架 -> Django -> 设置和 select 带有 django 项目设置的适当文件.
事实证明 INSTALLED_APPS
的动态创建以某种方式混淆了 PyCharm。如果 template_tags
是动态创建的,则它无法解析某些依赖项。似乎必须决定是使用漂亮的代码导航还是静态 INSTALLED_APPS
.
看起来 PyCharm 寻找最后分配给 INSTALLED_APPS 的模板标签。我 运行 遇到了类似的问题,并且能够在动态生成真实的 INSTALLED_APPS:
之后添加它来解决它if False:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'autocomplete_light',
'django.contrib.admin',
'django.contrib.humanize',
'comunes',
'listados',
'gescomercial',
'contabilidad',
'compras',
'almacen')
不漂亮,但由于这个 settings.py 仅用于开发机器,我可以接受它。
使用 PyCharm 2019.2
,一旦在 django 首选项配置面板中正确指向 settings.py
我需要使缓存无效并在 Pycharm 正确识别所有之前重新启动templatetags 库,即使我的 INSTALLED_APPS
是动态构建的。
降低Django版本。我的情况和你一样。 setting里面的配置是正确的,但是还是提示“unresolved Library 'static files'”。之后我把Django版本调低了。pip install Django == 2.1.7。问题已经解决了。希望对你有帮助