Как решить проблему при переводе сайте на иностранные языки?

Иоанн

Новичок
Пользователь
Май 9, 2022
4
0
1
Linux Ubuntu
Python 3.8.10
Django 4.0.4

Eсть список ссылок, каждая из котороых должна переключать на определенный язык сайт. Нашёл похожее решение этой задачи, но у меня возникает ошибка: страница не найдена.



Python:
views.py

def lang(request, lang_code):
    next = request.POST.get('next', request.GET.get('next'))
    if (next or not request.headers.get('x-requested-with')) and not
    url_has_allowed_host_and_scheme(url=next, allowed_hosts=request.get_host()):
    next = request.META.get('HTTP_REFERER')
       if next:
          next = quote_etag(next)  # HTTP_REFERER may be encoded.
       if not url_has_allowed_host_and_scheme(url=next,
       allowed_hosts=request.get_host()):
        next = '/'
            response = HttpResponseRedirect(next) if next else
      HttpResponse(status=204)

          if lang_code and check_for_language(lang_code):
             if next:
                for code_tuple in settings.LANGUAGES:
                    settings_lang_code = "/" + code_tuple[0]
                    parsed = urlsplit(next)
                    if parsed.path.startswith(settings_lang_code):
                       path = re.sub('^' + settings_lang_code, '', parsed.path)
                       next = urlunsplit((parsed.scheme, parsed.netloc, path,
        parsed.query, parsed.fragment))
        response = HttpResponseRedirect(next)
    if hasattr(request, 'session'):
        request.session[LANGUAGE_SESSION_KEY] = lang_code
    else:
        response.set_cookie(
            settings.LANGUAGE_COOKIE_NAME, lang_code,
            max_age=settings.LANGUAGE_COOKIE_AGE,
            path=settings.LANGUAGE_COOKIE_PATH,
            domain=settings.LANGUAGE_COOKIE_DOMAIN,
        )
return response



html

<ul class="dropdown__catalog">
<li class="active"><a href="{% url 'forum:lang' 'en' %}"><i></i>English</a></li>
<li><a href="{% url 'forum:lang' 'es' %}"><i></i>Espanol</a></li>
<li><a href="{% url 'forum:lang' 'pt' %}"><i></i>Portugues</a></li>
<li><a href="{% url 'forum:lang' 'chi' %}"><i></i>Chinese</a></li>
</ul>





urls.py

urlpatterns = format_suffix_patterns([
   path('', views.TopicListView.as_view(), name='main'),
   path('single-topic/', views.SingleTopicPageView.as_view(), name='single-topic'),
   path('search/', Search.as_view(), name='search_results'),
   path('search/<category_id>/', topic_view, name='topic_view'),
   path('<slug:slug>/', views.TopicDetailView.as_view(), name='topic_detail'),
   path('r<slug:slug>/<category_id>/', views.CategoryDetailView.as_view(),
   name='category_detail'),
   path("list/1/", views.TopicViewSet.as_view({'get': 'list'})),
   path("<intk>/", views.TopicViewSet.as_view({'get': 'retrieve'})),
   path('1/new_topics/', modal_topic, name='modal_topic'),
   path('2/latest_topic/', modal_latest_topic, name='modal_latest_topic'),
   path('3/forum_rules/', views.ForumRulesView.as_view(), name='forum_rules'),
   path('4/about_us/', views.AboutUsView.as_view(), name='about_us'),
   path('5/email_send/', send_email, name='send_email'),
   path('6/team', TeamView.as_view(), name='the_team'),
   path('lang/<lang_code>/', views.lang, name='lang'),

])
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
эх...

upd
ТС исправил, молодец
 
Последнее редактирование:

Форум IT Специалистов