Comments (4)
The workaround is of course to remove the template loader at initial migration time. But in some automated environments that is tedious.
IMHO no db queries or cache access should happen at import time.
from django-multisite.
I get the same problem :(
But removing the template loader will not help here.
from django-multisite.
I can't seem to reproduce this problem - using a fresh django 1.9 project with django-multisite 1.3.1 and these settings: https://gist.github.com/mghughes/6710f72d5c6ad6ffb6e4c9857ced7fe3
Since there are multiple people with this problem, am I missing something obvious? Or can you provide more information about what you're doing differently?
from django-multisite.
Stepping in because I've run across this error now.
This error can occur if you use an app which attempts to load a template on startup. I'm not sure how many apps do this regularly, but one prominent one is django-cms. It happens when it calls setup()
in its apps.py
file. This in turn calls plugin_pool.validate_templates()
which calls loader.get_template()
.
There is no way to prevent this error from occurring as far as I can tell. I've looked at all of the involved code and apart from setting django-cms to catch all exceptions in its validate_templates
method there isn't a way of preventing the error.
Obviously, this means that doing a standard test which starts with a completely empty database will not work unless you disable multisite during testing.
One possibility is something like this (untested):
# settings.py
_, command = sys.argv[:2]
if command in ['test', 'migrate']:
ORIGINAL_TEMPLATES = list(TEMPLATES)
TEMPLATES[0]['loaders'].remove('multisite.template_loader.Loader')
And then, in a test file:
from django.conf import settings
class TestMultiSiteLayouts(TestCase):
def test_something:
with self.override_settings(TEMPLATES=list(settings.ORIGINAL_TEMPLATES)):
… do tests for multisite here …
from django-multisite.
Related Issues (20)
- Incorrect cache prefix documentation HOT 2
- Remove template.loaders.cached.py HOT 1
- Doesn't work with django_debug_toolbar HOT 1
- django-multisite how to set the correct database for the site based on subdomain HOT 1
- remove deprecated PathAssistedCurrentSiteManager HOT 1
- Support django 2.0
- Template dir for local development HOT 7
- KeyError at / 1 HOT 8
- Resolve normalized domain names
- Advantages of django-multisite HOT 1
- AliasInline should override `get_queryset`, not `queryset`
- New PyPi release HOT 2
- What current version of Django does this support? HOT 2
- suggest running `black` formatter on code before push HOT 1
- Middleware compatibility with Django 2 HOT 1
- Request for an example
- Crash on tldextract==3.0.0
- Django 3.2 breaks django-multisite: The SITE_ID setting must be an integer HOT 7
- Template loader alters path, can't find template again
- About Django 3.2 support HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-multisite.