Python PyCharm-未解析库';静态文件';

Python PyCharm-未解析库';静态文件';,python,django,pycharm,django-oscar,Python,Django,Pycharm,Django Oscar,我和PyCharm在做一个Django项目。不幸的是,PyCharm没有解析我想在模板中使用的模板标记 {% load staticfiles %} 该项目通过vagrant在Ubuntu虚拟机中运行。运行配置知道我在VM(远程解释器设置)中使用的virtualenv 我的设置如下所示: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttyp

我和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'),
)
我仍然得到了警告
未解析库“staticfiles”
。它也显示了与其他模板标记相同的行为。
动态创建
静态文件\u DIRS
会成为问题吗?我如何解决这个问题?

在我的例子中,这是在PyCharm找不到settings.py文件时发生的。这是因为我有-local\u设置、prod\u设置等,所以我进入File->Settings->Language&Framworks->Django->Settings,并在Django项目的设置中选择合适的文件。

结果是,动态创建
已安装的应用程序
会让PyCharm有些困惑。如果某些依赖项是动态创建的,则无法解析这些依赖项,例如
模板\u标记。似乎您必须决定是使用漂亮的代码导航还是静态
安装的应用程序

看起来PyCharm会查找安装的应用程序的最后一次分配以查找模板标记。我遇到了类似的问题,能够在动态生成实际安装的应用程序后解决此问题:

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 preferences配置面板中正确指向
settings.py
,我需要在PyCharm正确识别所有templatetags库之前使缓存无效并重新启动,即使我的
安装的应用程序是动态构建的。

降低Django版本。我的情况和你的一样。设置中的配置正确,但仍有提示“未解析库“静态文件”。之后,我降低了Django版本。PIP安装Django==2.1.7。问题已经解决了。我希望它能帮助你

这并不能解决我的问题。这不仅是关于静态文件,也关于其他模板标记。你处于调试模式吗?我看不出有静态文件忘记在帖子中包含它。已编辑。阅读第二个答案中的内容Pycharm似乎要求静态内容包含在应用程序根目录下名为static的文件夹中,但我也会尝试该问题中提到的其他解决方案,如验证Pycharm将您的项目视为源谢谢您的回答,但此设置已为我的项目配置。这就是我的问题所在。请不要忘记在指向正确设置后重新加载项目。pyYou是对的:简单导入
INSTALLED\u APPS
让PyCharm疯狂。我目前面临更糟糕的情况:将
settings.py
转换为一个模块(即文件夹名
settings
\uuuu init\uuuuuuuuuuuuuuuuuupy
文件)然后将旧的
settings.py
code复制/粘贴到另一个文件夹
settings
中,并正确计算
BASE\u DIR
drives-py->你被迫将所有配置只放在一个文件
settings.py
故事结束…@OlivierPons拆分设置文件对我来说很好。我有一个带有init.py、base.py、dev.py和prod.py的设置模块。使用最新的PyCharm版本2019,我可以通过将PyCharm指向我的dev.py设置文件来修复OP的问题。