Open enzedonline opened 3 years ago
Hi,
Wondering if there's any thoughts on this? I'm building a second wagtail-localize site and seeing the same errors in the logs landing on any page without the language prefix (eg domain/, domain/login etc).
The page with language prefix loads ok afterwards. If I load the page with language prefix, no errors in the logs.
It's not critical, but it means I can't have logging turned on as the logs fill rapidly.
Is this bad setup or is there something needing to be to intercept and handle the error rather than throwing an exception?
For domain/account/profile (django allauth page):
[19/Aug/2021 10:54:21] DEBUG [django.template:869] Exception while resolving variable 'name' in template 'unknown'.
Traceback (most recent call last):
File "\website\.venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "\website\.venv\lib\site-packages\django\core\handlers\base.py", line 167, in _get_response
callback, callback_args, callback_kwargs = self.resolve_request(request)
File "\website\.venv\lib\site-packages\django\core\handlers\base.py", line 290, in resolve_request
resolver_match = resolver.resolve(request.path_info)
File "\website\.venv\lib\site-packages\django\urls\resolvers.py", line 585, in resolve
raise Resolver404({'tried': tried, 'path': new_path})
django.urls.exceptions.Resolver404: {'tried': [[<URLResolver <URLPattern list> (admin:admin) 'django-admin/'>], [<URLResolver <module 'wagtail.admin.urls' from '\\website\\.venv\\lib\\site-packages\\wagtail\\admin\\urls\\__init__.py'> (None:None) 'admin/'>], [<URLResolver <module 'wagtail.documents.urls' from '\\website\\.venv\\lib\\site-packages\\wagtail\\documents\\urls.py'> (None:None) 'documents/'>], [<URLPattern '^robots\.txt$' [name='robots']>], [<URLPattern '^sitemap.xml$'>], [<URLResolver <module 'django_comments_xtd.urls' from '\\website\\.venv\\lib\\site-packages\\django_comments_xtd\\urls.py'> (None:None) '^comments/'>], [<URLPattern 'sentry-debug/'>], [<URLPattern 'jsi18n/' [name='javascript-catalog']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'signup/' [name='account_signup']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'login/' [name='account_login']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'logout/' [name='account_logout']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'password/change/' [name='account_change_password']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'password/set/' [name='account_set_password']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'inactive/' [name='account_inactive']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'email/' [name='account_email']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'confirm-email/' [name='account_email_verification_sent']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern '^confirm-email/(?P<key>[-:\w]+)/$' [name='account_confirm_email']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'password/reset/' [name='account_reset_password']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'password/reset/done/' [name='account_reset_password_done']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern '^password/reset/key/(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)/$' [name='account_reset_password_from_key']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.account.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\account\\urls.py'> (None:None) ''>, <URLPattern 'password/reset/key/done/' [name='account_reset_password_from_key_done']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <module 'allauth.socialaccount.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\socialaccount\\urls.py'> (None:None) 'social/'>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <URLPattern list> (None:None) 'facebook/'>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLPattern 'facebook/login/token/' [name='facebook_login_by_token']>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <URLPattern list> (None:None) 'google/'>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) ''>, <URLResolver <URLPattern list> (None:None) 'linkedin_oauth2/'>], [<URLResolver <module 'allauth.urls' from '\\website\\.venv\\lib\\site-packages\\allauth\\urls.py'> (None:None) '^accounts/'>], [<URLResolver <module 'userauth.urls' from '\\website\\userauth\\urls.py'> (None:None) 'accounts/'>], [<URLPattern '^static/(?P<path>.*)$'>], [<URLPattern '^media/(?P<path>.*)$'>], [<URLResolver <URLPattern list> (None:None) 'en/'>]], 'path': '404/'}
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\website\.venv\lib\site-packages\django\template\base.py", line 829, in _resolve_lookup
current = current[bit]
TypeError: 'URLResolver' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\website\.venv\lib\site-packages\django\template\base.py", line 837, in _resolve_lookup
current = getattr(current, bit)
AttributeError: 'URLResolver' object has no attribute 'name'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\website\.venv\lib\site-packages\django\template\base.py", line 843, in _resolve_lookup
current = current[int(bit)]
ValueError: invalid literal for int() with base 10: 'name'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\website\.venv\lib\site-packages\django\template\base.py", line 848, in _resolve_lookup
raise VariableDoesNotExist("Failed lookup for key "
django.template.base.VariableDoesNotExist: Failed lookup for key [name] in <URLResolver <URLPattern list> (admin:admin) 'django-admin/'>
Error block repeats 13x.
For the root page ('/'), key error as:
django.template.base.VariableDoesNotExist: Failed lookup for key [name] in <URLResolver <URLPattern list> (None:None) 'en/'>
and error block repeated 11 times (in case that's significant?)
Well, I take back the 'not-critical' part about this - it's causing 500 errors on certain django auth pages when Debug is switched to False.
Workaround for now is to put a redirect into urlpatterns:
eg url(r'^accounts/password/success/', RedirectView.as_view(pattern_name='password_change_success', permanent=False)),
where the named pattern exists in the i18n_patterns.
For the root page, I've added
path('', RedirectView.as_view(url='/' + Locale.get_active().language_code +'/', permanent=False)),
This also works presuming you've slugged your localized home pages according to ISO language codes.
I think there needs to be a fairly urgent look at how wagtail-localize resolves requests that don't have a lang code in the url for non-wagtail urls.
@kaedroho - does this need to be elevated to bug status?
Whenever browsing to the default url (ie http(s)://domain_name) errors are thrown. Seems to do with no template for django to process. Site behaves ok and goes on to the correct local url afterwards.
Django Version: 3.1.8 Wagtail Version: 2.12.3 Wagtail-localize Version: 0.9.5
Error: