PyCharm - 未解析的库'staticfiles'

时间:2016-01-08 14:48:54

标签: python django pycharm django-oscar

我正在使用PyCharm开展Django项目。不幸的是,PyCharm无法解析我想在模板中使用的模板标签。

{% load staticfiles %}

该项目通过vagrant在Ubuntu VM中运行。运行配置知道我在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会成为问题吗?我怎么能解决这个问题?

5 个答案:

答案 0 :(得分:17)

在我的情况下,这发生在PyCharm找不到settings.py文件时。这是因为我有 - local_setting,prod_setting等所以我去了File - >设置 - >语言与Framworks - > Django - >设置并选择适当的文件并设置django项目。

答案 1 :(得分:7)

事实证明,INSTALLED_APPS的动态创造会以某种方式混淆PyCharm。如果动态创建这些依赖项,则无法解析某些依赖项,例如template_tags。似乎必须决定是否有一个很好的代码导航或静态INSTALLED_APPS

答案 2 :(得分:6)

看起来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仅用于开发机器,我可以使用它。

答案 3 :(得分:1)

使用PyCharm 2019.2,一旦在Django首选项配置面板中正确指向settings.py,我就需要使缓存无效并重新启动,直到Pycharm正确识别所有模板标签库为止,即使我的{{1} }是动态构建的。

答案 4 :(得分:1)

降低Django版本。我的情况和你一样。设置中的配置正确,但仍提示“未解析的库'静态文件'。此后,我降低Django版本。PIP安装Django = = 2.1.7。问题已解决。希望对您有所帮助< / p>