You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
When I add the "oscarapi.middleware.ApiBasketMiddleWare", I get the error:
System check identified no issues (0 silenced).
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 139, in inner_run
handler = self.get_handler(*args, **options)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/contrib/staticfiles/management/commands/runserver.py", line 31, in get_handler
handler = super().get_handler(*args, **options)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 78, in get_handler
return get_internal_wsgi_application()
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/servers/basehttp.py", line 45, in get_internal_wsgi_application
return get_wsgi_application()
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
return WSGIHandler()
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", line 118, in __init__
self.load_middleware()
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 40, in load_middleware
middleware = import_string(middleware_path)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/utils/module_loading.py", line 30, in import_string
return cached_import(module_path, class_name)
File "django-oscar-api/.venv/lib/python3.10/site-packages/django/utils/module_loading.py", line 15, in cached_import
module = import_module(module_path)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "django-oscar-api/.venv/lib/python3.10/site-packages/oscarapi/middleware.py", line 8, in <module>
from django.utils.translation import ugettext as _
ImportError: cannot import name 'ugettext' from 'django.utils.translation' (django-oscar-api/.venv/lib/python3.10/site-packages/django/utils/translation/__init__.py)
I'm using the sandbox with included settings.py:
from django.utils.translation import gettext_lazy as _
...
USE_I18N = True
LANGUAGE_CODE = "en-us"
LANGUAGES = (
("en-us", _("English")),
("fr", _("French")),
)
As soon as I comment the middleware, it works again.
For now, I replace _ with i_: from django.utils.translation import gettext_lazy as i_ and subsequent calls in languages ("en-us", i_("English")),.... It seems to work.
Hello,
When I add the
"oscarapi.middleware.ApiBasketMiddleWare"
, I get the error:I'm using the sandbox with included settings.py:
As soon as I comment the middleware, it works again.
For now, I replace
_
withi_
:from django.utils.translation import gettext_lazy as i_
and subsequent calls in languages("en-us", i_("English")),...
. It seems to work.I'd love to know if there's a better fix.
Additionally, may I ask for an example of "fill your basket with the API and use plain Oscar views for checkout" as stated in the doc? https://django-oscar-api.readthedocs.io/en/stable/topics/outofthebox.html?highlight=basket#middleware-and-mixed-usage
In my case, the API is called by a browser on a different port.
Thank you!
The text was updated successfully, but these errors were encountered: