如何修改Django中set_language()设置的默认cookie名称django_language?
要修改Django语言切换功能使用的默认django_language Cookie名称,只需在项目的settings.py配置文件中添加LANGUAGE_COOKIE_NAME参数,指定自定义名称即可,具体操作如下:
- 打开项目根目录下的
settings.py文件 - 在文件中添加以下配置(将示例中的名称替换为你需要的自定义名称):
# settings.py LANGUAGE_COOKIE_NAME = "custom_language" # 替换为你的自定义Cookie名称
添加完成后,Django的set_language视图会自动使用这个新的Cookie名称存储用户的语言偏好,无需修改已配置的i18n路由或其他代码。
如果需要对该Cookie做更多安全或行为上的自定义,还可以添加以下相关配置参数:
LANGUAGE_COOKIE_SECURE:设置为True可限定Cookie仅通过HTTPS传输LANGUAGE_COOKIE_HTTPONLY:设置为True可防止前端JS访问该Cookie,提升安全性LANGUAGE_COOKIE_SAMESITE:可选'Strict'/'Lax'/'None',控制Cookie跨站传输规则LANGUAGE_COOKIE_AGE:设置Cookie的过期时长(单位:秒,默认是会话级Cookie)
示例安全配置:
# settings.py LANGUAGE_COOKIE_NAME = "custom_language" LANGUAGE_COOKIE_SECURE = True LANGUAGE_COOKIE_HTTPONLY = True LANGUAGE_COOKIE_SAMESITE = 'Strict'
内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito
相关产品推荐
相关产品推荐

