该@cache_page decorator真棒.但对于我的博客,我想在缓存中保留一个页面,直到有人对帖子发表评论.这听起来像个好主意,因为人们很少发表评论,因此将页面保留在memcached中,而没有人评论会很好.我以为某人之前一定有过这个问题?这与每个网址的缓存不同.
所以我想到的解决方案是:
@cache_page( 60 * 15, "blog" );
def blog( request ) ...
Run Code Online (Sandbox Code Playgroud)
然后我会保留用于博客视图的所有缓存密钥的列表,然后让"博客"缓存空间到期.但是我对Django没有超级经验,所以我想知道是否有人知道更好的方法吗?
所以我得到了一个简单的设置,使用nginx进行静态媒体和负载均衡以及龙卷风作为django的webserver(运行4台服务器).我的问题是remote_addr没有传递给django所以我得到一个KeyError:
article.ip = request.META['REMOTE_ADDR']
由于nginx.conf,远程地址通过X-Real-IP(HTTP_X_REAL_IP)发送:
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect false;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
Run Code Online (Sandbox Code Playgroud)
由于HTTP预先附加到META密钥,因此我不能只执行proxy_set_header remote_addr $ remote_addr.如果没有找到远程地址键,我能做的就是读取X-Real-IP,但我很好奇是否有更智能的解决方案.
谢谢!
我将如何为匿名用户缓存页面,但是为Django 1.6中的授权用户呈现这些页面?曾经有一个CACHE_MIDDLEWARE_ANONYMOUS_ONLY标志听起来很完美,但已被删除.
我问,因为每个页面都有一个菜单栏,显示登录用户的名字和他/她的个人资料的链接.
这样做的正确方法是什么?必须是一个常见的问题,但我没有找到正确的方式来浏览Django文档.
django caching django-templates django-cache anonymous-users
我部署之后,我遇到了Django应用程序的一些问题.我在ubuntu服务器上使用Apache + mod-wsgi.我重新启动服务器一段时间后,时间变为foobar,大约-10小时就错了.我做了一个Django视图,看起来像:
def servertime():
return HttpResponse( datetime.now() )
Run Code Online (Sandbox Code Playgroud)
并在我重新启动服务器并检查显示该视图的URL后,它首先看起来没问题.然后在某一时刻,它有时会给出正确的时间,有时则没有,之后它总会给出错误的时间.但服务器时间是核心.
有线索吗?我没有运气就google了.
我一直在尝试从 App Engine 实例连接到 Redis 实例,但没有成功。我遇到连接超时。
我已经在 app.yaml 中设置了主机和端口:
env_variables:
REDIS_HOST: '10.0.0.3'
REDIS_PORT: '6379'
Run Code Online (Sandbox Code Playgroud)
并尝试按照示例中指定的方式进行连接:
redis_host = os.environ.get('REDIS_HOST', 'localhost')
redis_port = int(os.environ.get('REDIS_PORT', 6379))
redis_client = redis.StrictRedis(host=redis_host, port=redis_port)
Run Code Online (Sandbox Code Playgroud)
但它不起作用,一些文档似乎需要 en vpc 访问连接器,但这些仅在 us-cental1 中可用,并且我在 asia-northeast1 中运行了 App Engine 实例和 Memorystore (Redis)。
有人有幸让这个工作吗?一般来说,谷歌非常擅长记录他们的东西,但这对我来说似乎缺乏,实际上没有关于如何让它工作的明确文档。
google-app-engine redis google-cloud-platform google-cloud-memorystore
我想将任何类型的 JSON 直接插入 BigQuery,但还没有找到任何好的方法?所有方法都假设我有一个定义明确的结构来插入。似乎可以使用旧的已弃用 api,但不能使用新的“cloud.google.com/go/bigquery”包。
我希望 /api/table_name/insert 能够采用任何类型的 json 并将其插入 BigQuery,因为客户端和服务器都知道端点应该转发它的架构。
谢谢