I'm working on a Django project with PyCharm. Unfortunately PyCharm does not resolve the template tags I would like to use in my templates.
{% load staticfiles %}
The project is running within an Ubuntu VM via vagrant. The run configuration knows about the virtualenv I am using in the VM (remote interpreter setup).
My settings look like this:
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'),
)
Still I get the warning Unresolved library 'staticfiles'
. It shows the same behavior other template tags as well.
Could the dynamic creation of the STATICFILES_DIRS
be the issue? How could I solve this?
It turned out that the dynamical creation of
INSTALLED_APPS
confuses PyCharm somehow. It cannot resolve certain dependencies such as thetemplate_tags
if these are created dynamically. Seems like one has to decide whether to have a nice code navigation or staticINSTALLED_APPS
.It looks like PyCharm looks for the last assignment to INSTALLED_APPS to find template tags. I have run into a similar problem and be able to work around it adding this after dynamically generating the real INSTALLED_APPS:
Not pretty, but as this settings.py is only used in the development machine I can live with it.
Lower the Django version. My situation is the same as yours. The configuration in the setting is correct, but still prompts "unresolved Library 'static files'. After that, I lower the Django version. PIP install Django = = 2.1.7. The problem has been solved. I hope it will help you
In my case this happened when PyCharm couldn't find settings.py file. This because I have - local_setting, prod_setting etc. So I go to File -> Settings -> Language & Framworks -> Django -> Settings and select appropriate file with setting of django project.
Using PyCharm
2019.2
, once thesettings.py
is correctly pointed to in django preferences config panel I needed to invalidate the cache and restart before Pycharm correctly recognised all templatetags library, even if myINSTALLED_APPS
is dynamically built.