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。问题已经解决了。希望对你有帮助