Django缓存错误请求(400)

Posted

技术标签:

【中文标题】Django缓存错误请求(400)【英文标题】:Django cache Bad Request (400) 【发布时间】:2015-02-03 05:38:50 【问题描述】:

我目前将我的设置文件配置为使用内存缓存缓存。

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'

虽然网站运行完美,但我看到调试行如下:

[05/Dec/2014 15:28:53] code 400, message Bad HTTP/0.9 request type ('get')
[05/Dec/2014 15:28:53] "get :1:views.decorators.cache.cache_header..439e23553bea98b3b35e7b94c1f72576.en-gb.AUS_Eastern_Standard_Time" 400 -
[05/Dec/2014 15:28:53] "GET /RSA/ HTTP/1.1" 200 968

所以我有兴趣了解如何解决这个问题,以及如何实际测试是否正在使用后端缓存。它目前已实现用于所有页面。

【问题讨论】:

【参考方案1】:

回到码头并开始使用该位置的端口号。 能够使其报告引用63894 作为正确端口号的不同错误。有趣的是,它不是实际站点运行的端口 - 88。也许这与它使用django manage.py runserver 命令运行并且只是一个开发服务器等事实有关。 无论如何,这解决了问题。下面的代码作为参考。

CACHES = 
        'default': 
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': '127.0.0.1:63894',
        
    

【讨论】:

【参考方案2】:

改编自之前的回复

我在错误请求错误中看到的唯一可能原因是主机设置配置错误,正如 here 所讨论的那样。

还要检查memcached,请检查link。

【讨论】:

所以我已经设置了 ALLOWED_HOSTS。但是,尝试在 shell 中导入缓存表单给出:>>> from django.core.cache import cache cache.set('key', 'value') File "<console>", line 1 from django.core.cache import cache cache.set('key', 'value') ^ SyntaxError: invalid syntax

以上是关于Django缓存错误请求(400)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django、Heroku 和 Name.com 的错误请求 (400)

从 React 向 Django 发送 post 请求时出现 400(错误请求)

Django 错误请求 (400) 调试=假

Django Apache SSL [代码 400,消息错误请求]

Django uWSGI NGINX 错误请求 400

发送 ajax 请求 django 时出现 400 错误