You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django项目中能否用document.cookie编辑request.set_cookie创建的Cookie?

Django游戏项目中JS直接操作Cookie的可行方案
  • 完全可以直接在JS里读写Cookie,不用绕views.py传JSON,这个方案完全行得通。
  • 具体操作方式:
    • 写Cookie:直接用document.cookie设置,比如保存玩家坐标:document.cookie = "player_pos_x=10; player_pos_y=20; path=/; max-age=2592000",path=/确保全站都能访问这个Cookie,max-age设为2592000就是30天有效期,足够维持进度。
    • 读Cookie:写个简单解析函数就行,比如:
      function getCookie(name) {
        let value = "; " + document.cookie;
        let parts = value.split("; " + name + "=");
        if (parts.length === 2) return parts.pop().split(";").shift();
      }
      
      调用getCookie('player_pos_x')就能拿到坐标,判断返回值是否为空,就能决定是加载存档还是开新游戏。
  • 关于Django会话引擎的配合:
    • Django默认的session是靠Cookie维持的,但你自定义的游戏进度Cookie和Django的session Cookie是分开的。如果想让进度Cookie不过期,直接给它设个足够长的max-age就行,不用依赖Django会话引擎。要是你后续需要把进度同步到后端数据库,那再用AJAX把JS里的Cookie数据传到views.py处理就行。
    • 另外,要是以后需要从views.py给JS传数据,其实可以在Django模板里直接渲染全局JS变量,比如在模板的<script>里写const gameInitData = {{ init_data|safe }};,这样JS就能直接拿到后端数据,不用复杂的交互。

内容的提问来源于stack exchange,提问作者Mickxz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:35:20