ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Запрошена настройка REST_FRAMEWORK, переменная окружения DJANGO_SETTINGS_MODULE
Я получаю эту ошибку: Я не могу увидеть нижнюю часть фильтра в Filter back ends with URL query parameters.
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting REST_FRAMEWORK, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Это мой api_views.py файл:
from rest_framework.generics import ListAPIView
from django_filters.rest_framework import DjangoFilterBackend
from store.serializers import ProductSerializer
from store.models import Product
class ProductList(ListAPIView):
queryset = Product.objects.all()
serializer_class = ProductSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('id',)
Вот мой wsgi.py файл:
import os
import sys
from django.core.wsgi import get_wsgi_application
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if path not in sys.path:
sys.path.append(path)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
application = get_wsgi_application()
файл settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'django_filters',
'store',
]
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend']
}
и код manage.py:
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
Может ли кто-нибудь понять, в чем здесь дело? И если да, не могли бы вы быть так любезны и объяснить, что не так? Спасибо!
Фильтр обратных концов с параметрами запроса URL для отображения ID продукта в браузере.