nephila / djangocms-multisite

django-multisite support for DjangoCMS
BSD 3-Clause "New" or "Revised" License
26 stars 19 forks source link

Check django-multisite template loader #4

Open yakky opened 8 years ago

jedie commented 7 years ago

I try currently the template loader, and it seems not to work, isn't it?

The init hangs with a lock:

Traceback (most recent call last):
  File "./manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/core/management/__init__.py", line 328, in execute
    django.setup()
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/home/jens/PyLucid_env/src/cms/cms/apps.py", line 12, in ready
    setup()
  File "/home/jens/PyLucid_env/src/cms/cms/utils/setup.py", line 46, in setup
    plugin_pool.validate_templates()
  File "/home/jens/PyLucid_env/src/cms/cms/plugin_pool.py", line 73, in validate_templates
    loader.get_template(template)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/loader.py", line 35, in get_template
    return engine.get_template(template_name, dirs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/backends/django.py", line 30, in get_template
    return Template(self.engine.get_template(template_name, dirs))
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/engine.py", line 167, in get_template
    template, origin = self.find_template(template_name, dirs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/engine.py", line 141, in find_template
    source, display_name = loader(name, dirs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/loaders/base.py", line 13, in __call__
    return self.load_template(template_name, template_dirs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/loaders/base.py", line 17, in load_template
    template_name, template_dirs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/template/loaders/filesystem.py", line 35, in load_template_source
    for filepath in self.get_template_sources(template_name, template_dirs):
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/multisite/template/loaders/filesystem.py", line 12, in get_template_sources
    domain = Site.objects.get_current().domain
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/contrib/sites/models.py", line 60, in get_current
    return self._get_site_by_id(site_id)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/contrib/sites/models.py", line 41, in _get_site_by_id
    return SITE_CACHE[site_id]
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/multisite/hacks.py", line 128, in __getitem__
    result = self._cache.get(key=key)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/multisite/hacks.py", line 93, in get
    return self._cache.get(key=self._get_cache_key(key), *args, **kwargs)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/core/cache/backends/db.py", line 84, in get
    return pickle.loads(base64.b64decode(force_bytes(value)))
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/db/models/base.py", line 1712, in model_unpickle
    apps.populate(settings.INSTALLED_APPS)
  File "/home/jens/PyLucid_env/lib/python3.5/site-packages/django/apps/registry.py", line 71, in populate
    with self._lock:
KeyboardInterrupt
pcoder commented 6 years ago

I faced the same issue (init hanging with a lock) today when testing djangocms-multisite. Did you progress any further on this @jedie @yakky ? Thanks.

yakky commented 5 years ago

@fedriz are you using the above feature of django-multisite?

lcfd commented 5 years ago

(@yakky let me know if we are talking about the same thing)

I've never had this problem. Those are the loaders that I currently use, check if you are using the same settings.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'configurator', 'templates'),
        ],
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.i18n',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.template.context_processors.media',
                'django.template.context_processors.csrf',
                'django.template.context_processors.tz',
                'sekizai.context_processors.sekizai',
                'django.template.context_processors.static',
                'cms.context_processors.cms_settings'
            ],
            'loaders': [
                'django.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
                'django.template.loaders.eggs.Loader',
                'multisite.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
            ],
        },
    },
]