293👍
This is caused by a bug in your Django settings somewhere. Unfortunately, Django’s hiding the bug behind this generic and un-useful error message.
To reveal the true problem, open django/apps/registry.py
and around line 80, replace:
raise RuntimeError("populate() isn't reentrant")
with:
self.app_configs = {}
This will allow Django to continue loading, and reveal the actual error.
I’ve encountered this error for several different causes. Once was because I had a bad import in one of my app’s admin.py.
72👍
Update from the Future
Since this question has continued to receive attention years after I originally asked it, I thought I should update my answer to better help future readers solve their problems.
It turns out there are (at least) two different reasons you could be getting the "populate() isn’t reentrant" error, and thus two different approaches to solving the problem:
-
There is an error in your Python code or your Django settings that makes your app fail to initialize correctly. As @Cerin’s answer points out, Django hides the real problem behind the unhelpful "populate isn’t reentrant" message. To fix this and reveal the actual error, follow @Cerin’s advice and edit
django/apps/registry.py
to make Django stop throwing the RuntimeError. -
There was at one point an error in your Python code, but you have fixed it, and Django still keeps failing with this message because WSGI won’t reload your fixed code. This is a WSGI problem, not a Django problem. One way to fix it is to temporarily edit
wsgi.py
so that itsapplication
function kills the WSGI process (forcing it to restart), as I described in my original answer; another is to set thestartup-timeout
option of mod_wsgi so that WSGI will restart itself, as @Graham Dumpleton described in the comments. Restarting the entire Apache server also fixes this problem, because it will incidentally restart WSGI, although that’s a bit heavy-handed and not always possible if you’re not an admin on the webserver.
Original answer below:
My server’s administrator restarted Apache, and that magically fixed this problem. The exact same Python files loaded without causing populate() isn't reentrant
. I even tried loading another file with a syntax error, then fixing it, and the server was able to load the new file and run correctly with no problems.
I still don’t know what was going wrong, but I’m marking this as answered since the problem is gone. (Well, I’ll mark it as answered as soon as StackOverflow allows me to accept my own answer.)
Update: After continuing to get this error when I accidentally upload Python with syntax errors, I figured out a workaround that’s easier than restarting Apache. When WSGI starts throwing the populate() isn't reentrant
error, I replace my Django project’s wsgi.py
with this simple function:
def application(environ, start_response):
if environ['mod_wsgi.process_group'] != '':
import signal
os.kill(os.getpid(), signal.SIGINT)
return ["killed"]
Then I reload my website, and the WSGI daemon process restarts (which I can tell by looking at the Apache log, even though the website still displays the same 500 error).
If I then change wsgi.py
back to normal and reload again, WSGI successfully picks up my code without throwing populate() isn't reentrant
(assuming I have no syntax errors this time). So the entirety of Apache doesn’t need to restart, just the WSGI process, and I can do that without root privileges.
- [Django]-How do I deploy Django on AWS?
- [Django]-Where to put business logic in django
- [Django]-How to mix queryset results?
64👍
I know this is an old answer but I will contribute with my solution:
As a way to diagnose the source of the problem run manage.py check
and see if you find anything there
In my case an outdated requirement was the issue and django was failing to import a submodule
Make sure that your requirements are up to date
- [Django]-Django test app error – Got an error creating the test database: permission denied to create database
- [Django]-Parsing unicode input using python json.loads
- [Django]-How to obtain and/or save the queryset criteria to the DB?
20👍
It’s not a response but a reflexion.
When you upgrade to django 1.7 and you have a 500 error and reload your page, Apache says “populate() isn’t reentrant”.
I think it’s when you load your page, Apache load all the modules you need for your app and when the error is handle it doesn’t unload module. So, when you reload your page, apache load again theses modules but it’s already loaded. So, apache says “populate() isn’t reentrant”.
I’ve two actions to correct this : Restart apache, or correct the error that handle the first 5OO error.
Try restarting apache with:
sudo service httpd restart
I hope it will help you.
- [Django]-Django form: what is the best way to modify posted data before validating?
- [Django]-DatabaseError: current transaction is aborted, commands ignored until end of transaction block?
- [Django]-Django: Implementing a Form within a generic DetailView
10👍
If you’re getting this error when using Google App Engine check your logs for other errors which might be causing this. I was getting:
ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
You can’t use SQLite with Google App Engine so commenting out the DATABASES
section of settings.py
stopped that error and the RuntimeError("populate() isn't reentrant")
error as well.
- [Django]-How do I reuse HTML snippets in a django view
- [Django]-Django return file over HttpResponse – file is not served correctly
- [Django]-Django, Models & Forms: replace "This field is required" message
4👍
You may be able to fix it without restarting Apache by touching a file (other than wsgi.py) that is early on in the loading process. For example, your settings file:
$ touch settings.py
I haven’t properly solved this either, but more info in my question here: Code change monitoring malfunctioning with Django 1.7 on mod-wsgi
- [Django]-Setting DEBUG = False causes 500 Error
- [Django]-Django filter JSONField list of dicts
- [Django]-Python (and Django) best import practices
3👍
Apache stores the wsgi file in its cache.
Disable Apache caching of python files
So first delete the wsgi file and restart your acpache and then add wsgi file again and restart the apache.
- [Django]-Multiple Database Config in Django 1.2
- [Django]-Django: remove a filter condition from a queryset
- [Django]-What does 'many = True' do in Django Rest FrameWork?
- [Django]-Django Multiple Authentication Backend for one project
- [Django]-PHP Frameworks (CodeIgniter, Yii, CakePHP) vs. Django
- [Django]-How to limit the maximum value of a numeric field in a Django model?
2👍
I experienced this same problem, and the source of the error for me was just a syntax error in a file I was working with. After fixing the typo, the populate() is not reentrant
error disappeared.
If you are running django from a wsgi script, you might be able to identify the typo by just running the wsgi script from the command line. For example:
cd /usr/local/www/wsgi-scripts/
python djangolauncher.wsgi
- [Django]-How to select a record and update it, with a single queryset in Django?
- [Django]-How can i test for an empty queryset in Django?
- [Django]-Django ignores router when running tests?
2👍
I just faced the same problem so I started looking around.
Now I’ve got it working, so I thought I should share it with you guys!
All I did was do chown user:group /to/path -R
and chmod 770 /to/path -R
all over again and it worked.
- [Django]-Favorite Django Tips & Features?
- [Django]-Django Generic Views using decorator login_required
- [Django]-How to limit the maximum value of a numeric field in a Django model?
2👍
This looks like a nice collection of valid responses for the same Apache mod-wsgi error, each guy posting the one that works for him/her, so here is mine:
Do not forget to update your project requirements after deploying 🙂
- [Django]-Retrieving parameters from a URL
- [Django]-Trying to migrate in Django 1.9 — strange SQL error "django.db.utils.OperationalError: near ")": syntax error"
- [Django]-How to delete project in django
2👍
If you tested your syntax in your dev environment and everything is ok, then the problem is here
WSGIDaemonProcess celeryEnv python-path=/var/www/celeryEnv/lib/python3.6/site-packages user=apache group=apache python-home=/var/www/celeryEnv
apache only look at
python-path=/var/www/celeryEnv/lib/python3.6/site-packages
so any modules in lib64 will not be recognized in apache
I found a workaround by coping all modules in /var/www/celeryEnv/lib64
to /var/www/celeryEnv/lib
now apache will work here’s the line from my own servers
WSGIDaemonProcess domain.com python-path=/home/user/app/env/lib/python3.6/site-packages:/home/user/app
Note: there’s beneficial information already here, but I put this answer because My servers are mostly Centos-7 which are working as it should with my answer !!
- [Django]-Laravel's dd() equivalent in django
- [Django]-Django datefield filter by weekday/weekend
- [Django]-Default value for user ForeignKey with Django admin
1👍
Setup: Ubuntu 14.04, Django 1.10, Python 3.5 (in virtualenv
).
I tried many of these solutions without luck, but then I noticed that the Apache error log contains two different errors in my case. One that happens when someone tries to visit a page, another that happens at start up. I missed the startup one because I usually tried to refresh the page a couple of times and thus only saw the on visit error repeated a few times.
I then searched for solutions to the startup error instead and the solution to this question worked for me. Briefly, it involves updating the mod_wsgi
package in a roundabout way.
I had been receiving warnings for months about the mismatch in mod_wsgi
versions, but suddenly it resulted in Apache error 500’s. Doesn’t make any sense to me.
My guess is that this RuntimeError: populate() isn't reentrant
error is usually a sign that one should look for a startup error, which indicates the real problem.
on visit
[Sat Oct 15 03:38:08.900966 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] mod_wsgi (pid=28272): Target WSGI script '/django/GP/GP/wsgi.py' cannot be loaded as Python module.
[Sat Oct 15 03:38:08.901409 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] mod_wsgi (pid=28272): Exception occurred processing WSGI script '/django/GP/GP/wsgi.py'.
[Sat Oct 15 03:38:08.901662 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] Traceback (most recent call last):
[Sat Oct 15 03:38:08.902184 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/GP/GP/wsgi.py", line 16, in <module>
[Sat Oct 15 03:38:08.902217 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] application = get_wsgi_application()
[Sat Oct 15 03:38:08.902501 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
[Sat Oct 15 03:38:08.902529 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] django.setup(set_prefix=False)
[Sat Oct 15 03:38:08.902726 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
[Sat Oct 15 03:38:08.902755 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] apps.populate(settings.INSTALLED_APPS)
[Sat Oct 15 03:38:08.902924 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/apps/registry.py", line 78, in populate
[Sat Oct 15 03:38:08.902953 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] raise RuntimeError("populate() isn't reentrant")
[Sat Oct 15 03:38:08.903111 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] RuntimeError: populate() isn't reentrant
start up
[Sat Oct 15 03:38:08.900966 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] mod_wsgi (pid=28272): Target WSGI script '/django/GP/GP/wsgi.py' cannot be loaded as Python module.
[Sat Oct 15 03:38:08.901409 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] mod_wsgi (pid=28272): Exception occurred processing WSGI script '/django/GP/GP/wsgi.py'.
[Sat Oct 15 03:38:08.901662 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] Traceback (most recent call last):
[Sat Oct 15 03:38:08.902184 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/GP/GP/wsgi.py", line 16, in <module>
[Sat Oct 15 03:38:08.902217 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] application = get_wsgi_application()
[Sat Oct 15 03:38:08.902501 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
[Sat Oct 15 03:38:08.902529 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] django.setup(set_prefix=False)
[Sat Oct 15 03:38:08.902726 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
[Sat Oct 15 03:38:08.902755 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] apps.populate(settings.INSTALLED_APPS)
[Sat Oct 15 03:38:08.902924 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] File "/django/env/lib/python3.5/site-packages/django/apps/registry.py", line 78, in populate
[Sat Oct 15 03:38:08.902953 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] raise RuntimeError("populate() isn't reentrant")
[Sat Oct 15 03:38:08.903111 2016] [:error] [pid 28272] [remote 95.166.81.114:39651] RuntimeError: populate() isn't reentrant
[Sat Oct 15 03:38:43.291502 2016] [:error] [pid 28272] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Sat Oct 15 03:38:43.291579 2016] [:error] [pid 28272] Traceback (most recent call last):
[Sat Oct 15 03:38:43.291604 2016] [:error] [pid 28272] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Sat Oct 15 03:38:43.292356 2016] [:error] [pid 28272] assert tlock is not None
[Sat Oct 15 03:38:43.292377 2016] [:error] [pid 28272] AssertionError:
[Fri Oct 14 23:38:43.412942 2016] [:error] [pid 28299] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.413044 2016] [:error] [pid 28299] Traceback (most recent call last):
[Fri Oct 14 23:38:43.413076 2016] [:error] [pid 28299] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.425037 2016] [:error] [pid 28275] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.425125 2016] [:error] [pid 28275] Traceback (most recent call last):
[Fri Oct 14 23:38:43.425157 2016] [:error] [pid 28275] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.427625 2016] [:error] [pid 28274] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.427694 2016] [:error] [pid 28274] Traceback (most recent call last):
[Fri Oct 14 23:38:43.427722 2016] [:error] [pid 28274] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.432020 2016] [:error] [pid 28273] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.432078 2016] [:error] [pid 28273] Traceback (most recent call last):
[Fri Oct 14 23:38:43.432105 2016] [:error] [pid 28273] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.438577 2016] [:error] [pid 28299] assert tlock is not None
[Fri Oct 14 23:38:43.438654 2016] [:error] [pid 28299] AssertionError:
[Fri Oct 14 23:38:43.442174 2016] [:error] [pid 28274] assert tlock is not None
[Fri Oct 14 23:38:43.442226 2016] [:error] [pid 28274] AssertionError:
[Fri Oct 14 23:38:43.447227 2016] [:error] [pid 28276] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.447294 2016] [:error] [pid 28276] Traceback (most recent call last):
[Fri Oct 14 23:38:43.447326 2016] [:error] [pid 28276] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.448813 2016] [:error] [pid 28277] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Fri Oct 14 23:38:43.448876 2016] [:error] [pid 28277] Traceback (most recent call last):
[Fri Oct 14 23:38:43.448903 2016] [:error] [pid 28277] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Fri Oct 14 23:38:43.450188 2016] [:error] [pid 28273] assert tlock is not None
[Fri Oct 14 23:38:43.450231 2016] [:error] [pid 28273] AssertionError:
[Fri Oct 14 23:38:43.456680 2016] [:error] [pid 28275] assert tlock is not None
[Fri Oct 14 23:38:43.456737 2016] [:error] [pid 28275] AssertionError:
[Fri Oct 14 23:38:43.461761 2016] [:error] [pid 28277] assert tlock is not None
[Fri Oct 14 23:38:43.461826 2016] [:error] [pid 28277] AssertionError:
[Fri Oct 14 23:38:43.466165 2016] [:error] [pid 28276] assert tlock is not None
[Fri Oct 14 23:38:43.466219 2016] [:error] [pid 28276] AssertionError:
[Fri Oct 14 23:38:43.658971 2016] [mpm_prefork:notice] [pid 28268] AH00169: caught SIGTERM, shutting down
[Sat Oct 15 03:38:43.691909 2016] [:error] [pid 28272] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
[Sat Oct 15 03:38:43.691968 2016] [:error] [pid 28272] Traceback (most recent call last):
[Sat Oct 15 03:38:43.691996 2016] [:error] [pid 28272] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
[Sat Oct 15 03:38:43.693126 2016] [:error] [pid 28272] assert tlock is not None
[Sat Oct 15 03:38:43.693159 2016] [:error] [pid 28272] AssertionError:
[Fri Oct 14 23:38:44.490316 2016] [:warn] [pid 28349] mod_wsgi: Compiled for Python/3.4.0.
[Fri Oct 14 23:38:44.490407 2016] [:warn] [pid 28349] mod_wsgi: Runtime using Python/3.4.3.
[Fri Oct 14 23:38:44.505672 2016] [mpm_prefork:notice] [pid 28349] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.19 mod_wsgi/3.4 Python/3.4.3 configured -- resuming normal operations
[Fri Oct 14 23:38:44.505764 2016] [core:notice] [pid 28349] AH00094: Command line: '/usr/sbin/apache2'
- [Django]-Equivalent of PHP "echo something; exit();" with Python/Django?
- [Django]-Django. A good tutorial for Class Based Views
- [Django]-VueJS + Django Channels
1👍
I know it has been a while since this question was asked, but I just ran into this issue due to a problem I haven’t seen discussed here. I was getting the RuntimeError: populate() isn't reentrant
error due to SELinux on CentOS 7. I had Django served out of a home directory, and I simply had to enable the SELinux boolean that allowed reading home directories, as the populate() error was due to a permissions issue. The solution for me was setsebool -P httpd_read_user_content 1
. I hope this helps someone having this issue.
- [Django]-How do I get the class of a object within a Django template?
- [Django]-Django: sqlite for dev, mysql for prod?
- [Django]-Django-rest-framework returning 403 response on POST, PUT, DELETE despite AllowAny permissions
1👍
In my case the error occured because a required pip-package was missing.
So I did a pip install -r requirements.txt
, restarted apache and things worked again.
- [Django]-Django template can't see CSS files
- [Django]-Django rest framework lookup_field through OneToOneField
- [Django]-Django: Reverse for 'detail' with arguments '('',)' and keyword arguments '{}' not found
1👍
In my case, I had a circular import, which cause an error that break the populate method.
- [Django]-Cron and virtualenv
- [Django]-How to print BASE_DIR from settings.py from django app in terminal?
- [Django]-POST jQuery array to Django
1👍
The multitude of answers makes it clear; this is a generic error that can have multiple root causes, typically related to loading Apache/WSGI.
All of these answers on this page should function as a kind of checklist, and in that vein I want to add the root cause of my instance of this error: failure to add an ‘import os’ to your settings.py file.
Specifically, we had a developer on our team who intended to remove an unneeded package, and instead removed ‘import os’ from the top of the production settings.py file. After an apache restart, our application wouldn’t restart and we received the dreaded ‘RuntimeError: populate() isn’t reentrant’ error.
A quick ‘python manage.py check’ did not reveal the issue, but a ‘python settings.py’ did; the os package was not loaded.
If you have this error, focus your search on checking your settings.py file(s) and also your WSGI file.
- [Django]-Django auto_now and auto_now_add
- [Django]-Django url tag multiple parameters
- [Django]-Django limit_choices_to for multiple fields with "or" condition
1👍
RuntimeError: populate() isn't reentrant
Can be anything, that is why there are so many different answers for this question.
The trick is to look at the error message just before the RuntimeError
. In your case there seems to be a syntax error in the file /extra/www/htmlquotes/quotes_django/quotespage/admin.py on line 15, see:
Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/extra/www/htmlquotes/quotes_django/quotespage/admin.py", line 25
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] pprove_quotes.short_description = "Approve selected quotes"
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] ^
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] SyntaxError: invalid syntax
- [Django]-Allowing only super user login
- [Django]-Django models.py Circular Foreign Key
- [Django]-Django-Forms with json fields
1👍
I had a recursive django.setup()
, eg I tried to write a django.setup()
inside a an app/models.py
, in the stack trace django tried to point this out near:
... "site-packages/django/apps/config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
...
... ./myproject/myapp/models.py ...
so yeah, be sure not to try to setup django while django is being setup…
- [Django]-Sending HTML email in django
- [Django]-How to pass django rest framework response to html?
- [Django]-Django values_list vs values
1👍
Note on AWS Elastic Beanstalk: The default settings.py
that is written by Django-admin includes a reference to a local sqlite database as the data source. This will likely work on your local OS, but not on AWS EB, and will give the populate() isn't reentrant
runtime error. To test for this, simply comment out the DATABASES={<...>}
statement in settings.py
, deploy, and re-open the application.
- [Django]-Complete django DB reset
- [Django]-Form with CheckboxSelectMultiple doesn't validate
- [Django]-What's the best way to extend the User model in Django?
1👍
For me the error was a missing mysqlclient
package in the requirements.txt file.
First I installed the mysqlclient
package with:
pip install mysqlclient
then I updated the requirements.txt file with:
pip freeze > requirements.txt
and this solved my problem.
- [Django]-Django – how to visualize signals and save overrides?
- [Django]-Multiple Database Config in Django 1.2
- [Django]-Creating email templates with Django
1👍
RuntimeError: populate() isn’t reentrant
This Django error is mostly course by wrong import and in most cases, you are trying to import a module twice
- [Django]-Why am I getting this error in Django?
- [Django]-What is "load url from future" in Django
- [Django]-__init__() got an unexpected keyword argument 'mimetype'
1👍
To see the actual error run the devlopment server:
python manage.py shell
after resolving all the issues, restart your server
sudo service httpd restart
- [Django]-Alowing 'fuzzy' translations in django pages?
- [Django]-Do we need to upload virtual env on github too?
- [Django]-What is pip install -q -e . for in this Travis-CI build tutorial?
0👍
I had this problem and couldn’t find any answer why until I backtracked my commits. Apparently I had added an accidental import, because of auto-completion, that screwed up the setup.
# found in models.py
from msilib.schema import SelfReg
In apache error log:
RuntimeError(“populate() isn’t reentrant”)
It worked fine in my windows dev environment but failed on the ubuntu/apache server.
- [Django]-How to access the local Django webserver from outside world
- [Django]-Django Model() vs Model.objects.create()
- [Django]-Where to put business logic in django
0👍
I was going into this same error after having change the order of this setting :
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
putting it back on the order here before and restarting apache fixed the issue.
- [Django]-Duplicate column name
- [Django]-Visual Editor for Django Templates?
- [Django]-UUID as default value in Django model
0👍
In my case, I had a custom renderer class
for Django Rest Framework
, for some purpose I had to override the renderer class’s method “get_context” (full disclosure : to make django toolbar
give correct SQL query count)
I removed that class and redeployed. It Worked.
- [Django]-Django.db.utils.ProgrammingError: relation "bot_trade" does not exist
- [Django]-How to change User representation in Django Admin when used as Foreign Key?
- [Django]-Django Admin app or roll my own?
0👍
Removing the virtualenv directory, recreating the virtualenv, then reinstalling all the requirements fixed it for me.
- [Django]-Django – Rotating File Handler stuck when file is equal to maxBytes
- [Django]-How to make an auto-filled and auto-incrementing field in django admin
- [Django]-Django: sqlite for dev, mysql for prod?
0👍
I hesitate to add this as an answer since it’s really just a description of a related case. However, it didn’t seem legible as a comment.
I ran into this error when creating a function that could access the Django database without the server running. Mostly, this was being used for inserting test data entries.
My project had the following in its project/apps/app_one/functions.py
file:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings")
import django
django.setup()
This allows access to the Django database through Python scripts without a server running. See here for more info on this approach: https://stackoverflow.com/a/26875729/4573162
I was also keeping basic app functions in this file that didn’t require database access and were to be used while a server was running. For example, in my app_one.models.py
I might have the following usage of a functions.arg_format
function, imported from the app_name/functions.py
file:
def save(self, *args, **kwargs):
self.some_arg = functions.arg_format(self.some_arg)
super().save(*args, **kwargs)
What this amounts to is that my application, while running, was trying to again run the Django setup()
.
I dont’ know how related this is but it threw the same RuntimeError: populate() isn't reentrant
error until I created a separate file for all the database-accessing functions. After the additional setup()
import was sidestepped, migrations were able to be completed as expected.
- [Django]-How do I POST with jQuery/Ajax in Django?
- [Django]-Is this the right way to do dependency injection in Django?
- [Django]-The QuerySet value for an exact lookup must be limited to one result using slicing. Filter error
0👍
Adding my reason to the list.
For me it was because I had a django service named with the same directory as a process directory. Renaming the process/dir fixed the issue.
- [Django]-How to select a record and update it, with a single queryset in Django?
- [Django]-Setting DEBUG = False causes 500 Error
- [Django]-Django url tag multiple parameters
0👍
Restarting the Apache server for me solved the problem. You can do that by using the command
$ sudo service apache2 restart
- [Django]-VueJS + Django Channels
- [Django]-How to add superuser in Django from fixture
- [Django]-Django-way for building a "News Feed" / "Status update" / "Activity Stream"
0👍
I had this same issue, what worked for me was commenting out the default database settings in / settings.py . I also read that later versions of django are not compatible with ebs
- [Django]-Automatic creation date for Django model form objects
- [Django]-Django rest framework, use different serializers in the same ModelViewSet
- [Django]-Django datefield filter by weekday/weekend
- [Django]-Django: How to manage development and production settings?
- [Django]-How do you catch this exception?
- [Django]-How does django handle multiple memcached servers?
0👍
For me, the problem was the version of SQLite. I switched to MySQL and an everything worked just fine.
PS: I’m using a shared hosting from Namecheap. So to install mysqlclient I had to contact the support.
- [Django]-Paginating the results of a Django forms POST request
- [Django]-A field with precision 10, scale 2 must round to an absolute value less than 10^8
- [Django]-Django.contrib.gis.db.backends.postgis vs django.db.backends.postgresql_psycopg2
0👍
I ran into same issue but in a different way, I was trying to run tests for my django app which caused the same error, upon googling I came to this answer, I see everybody got same error in different environments.
I would like to add my answer which cause the problem and solution.
- I have added following lines to load the django settings before running tests
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "admin.settings")
django.setup()
I have added above lines in my tests.py file which helped me to run the tests.
but then I have to ran these tests in AzureDevops then I added same lines in my admin.py file, after that I started to see this error
removing the lines from admin.py fixed the issue.
Hope this helps someone.
- [Django]-Data Mining in a Django/Postgres application
- [Django]-Combining Django F, Value and a dict to annotate a queryset
- [Django]-Http POST drops port in URL
-1👍
To throw in my 2 Euro cents:
I recreated a working setup in Docker. The new Docker setup failed with
populate isn't reentrant
which seems to be a generic error.
In my case, I overlooked that
pip install Django
installs the latest version (2.0
), instead of the required version 1.11
.
Changing this to
pip install Django==1.11
fixed my problem.
- [Django]-How do I get the object if it exists, or None if it does not exist in Django?
- [Django]-Automatic creation date for Django model form objects
- [Django]-How do I do an OR filter in a Django query?
-1👍
I think this is a generic error when something is wrong with settings.py
. Sometimes I can find the problem by trial and error by removing the installed apps one at a time. In some cases, its not related to the installed apps. But from my experience, in all cases its a problem within the settings.py
file.
- [Django]-Django content-type : how do I get an object?
- [Django]-How do I deploy Django on AWS?
- [Django]-Django QuerySet order
-1👍
check if you have mentioned your api names twice in the settings.py ‘ s installed app section.
Application definition
INSTALLED_APPS = [
...
'rest_framework',
'myapp_api',
'myapp_api.apps.myappWebserviceApiConfig',
]
Application definition
INSTALLED_APPS = [
...
'rest_framework',
'myapp_api.apps.myappWebserviceApiConfig',
]
Removing duplicate entries solved my problem
- [Django]-What's the best solution for OpenID with Django?
- [Django]-Django – How to use decorator in class-based view methods?
- [Django]-Django 2.0 – Not a valid view function or pattern name (Customizing Auth views)
-1👍
I recently had the same error on my django project [Django1.11].
The problem was the fact that my apps no longer live in a non-standard django location, normally the apps live in the root project dir
I recently moved my apps to an apps folder for logging purposes, butt i forgot to update my templates.
My structure [./awesome_potatoes/apps/first_app/]
So when I start a new app, what happens is django does not prepend the dir name in the apps.py file or any python file for that matter because of the outdated template
apps.py
name = 'first_app'
Fix [after updated my templates]
name = 'apps.first_app'
- [Django]-AccessDenied when calling the CreateMultipartUpload operation in Django using django-storages and boto3
- [Django]-Django – How to rename a model field using South?
- [Django]-Sending an SMS to a Cellphone using Django
-2👍
I solved problem with adding __init__.py
to my apps folder.
touch /mainprojectfolder/projectfolderwhichcontainswsgi.py/apps/__init__.py
Then it worked!
- [Django]-Why won't Django use IPython?
- [Django]-How to select a record and update it, with a single queryset in Django?
- [Django]-Warning: Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'
-5👍
This couse of lack of memory on your PC/Host/VPS, free some memory and all will be fine.
- [Django]-Why is __init__ module in django project loaded twice
- [Django]-Using django-rest-interface
- [Django]-Annotate with latest related object in Django