I'm developing a simple Django app and things were going great until suddenly the dev server stopped reloading automatically on file change. Now I have to manually restart the server every time I change some Python file, which is pretty annoying.
I've tried removing my virtual environment and reinstalling Django to no avail so I guess the problem is with the project itself. In settings.py
I have DEBUG = True
and also when I start the server it says Watching for file changes with StatReloader
, which I assume means that it should reload. Can't think of what else it could be. I don't think I even touched any settings files, just views, urls and models.
CodePudding user response:
check your
TEMPLATES
of 'settings.py`.
If you have defined your DIRS
something like this:
'DIRS': [BASE_DIR , 'templates'],
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR , 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
So change it to 'DIRS': [BASE_DIR / 'templates']
, if you don't do this it will cause the server to restart
again and again.
like this:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
It may solve your problem.