【问题标题】:How add variable to django request from my front-end?如何从我的前端向 django 请求添加变量?
【发布时间】:2021-03-29 07:33:11
【问题描述】:
我正在开发 web 应用程序,后面是 djangorestframework,前面是 Vue.js。界面被翻译成几种语言。在网站页脚上,用户可以看到代表国家国旗的语言图标。
点击需要图标后,应用程序将所有文本翻译成所需的语言。翻译的所有操作都在前面进行,而我的后端对选择的语言一无所知。现在我想告诉我的后端选择的语言,我该怎么做?我想为我的 django 请求对象添加一种可变语言,但我什么也找不到。
有什么想法吗?
【问题讨论】:
标签:
django
vue.js
django-rest-framework
django-views
【解决方案1】:
我看到了两种方法:
- 按照您的建议,针对每个(有趣的)请求发送语言值
- 或者,将其保留在后端的用户设置中:您在a custom user model 上添加一个字符字段。当您在请求过程中需要语言值时,您可以通过
self.request.user.lang 访问它。当用户点击图标时,您必须添加路由来更新值。
这取决于需要语言值的频率;如果经常,将它放在后端会更简单。但是你必须保持最新的价值......这是一个权衡:)
【解决方案2】:
我在我的 localStorage 中指定了一个语言变量,然后我将值返回到 Content-Language 标头,之后我可以在我的 django 请求中获取语言值。