首页 > 解决方案 > 如何根据用户选择更改语言?

问题描述

我使用Rosetta翻译了我的网站。我有两种语言;en 和 tr。

language在模型中创建了一个字段UserProfile,并在导航栏中创建了一个按钮来更改用户的语言选择。

我想要的是;用户的语言选择将是网站的语言。

例如; 当用户单击TR按钮时,在每个页面中re_path变为http://127.0.0.1:8000/tr/或用户单击EN按钮re_path变为http://127.0.0.1:8000/en/ 。

我怎样才能做到这一点?

网址.py

urlpatterns += i18n_patterns(
                    re_path('', include('customer.urls')),
                    re_path('', include('register.urls')),
                    re_path('', include('approvals.urls')),
)

模型.py

class UserProfile(AbstractUser, UserMixin):
    username = models.CharField(max_length=500, unique=True)
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    ...
    language = models.CharField(max_length=250)

标签: django

解决方案


推荐阅读