相关疑难解决方法(0)

您可以在redis中存储的最大值大小是多少?

有谁知道你可以在redis中存储的最大值大小是多少?我想将redis用作celery的消息队列来存储一些需要由另一台服务器上的worker处理的小文档,我想确保文档不会太大.

我找到了一个引用1GB的页面,但当我按照页面上的链接获取该答案的链接时,链接无效了.链接在这里:

http://news.ycombinator.com/item?id=1182005

谢谢,肯

redis celery

34
推荐指数
1
解决办法
6万
查看次数

Flask-Login:在本地计算机上不起作用,但在托管上很好

我有一个烧瓶应用程序,我使用烧瓶登录,按照教程(没有什么花哨在这里)

  • 在托管上工作正常
  • 在我的本地MAC计算机上工作正常(在家里)
  • 在我的本地Linux计算机上不起作用(在办公室,可能在防火墙后面,但我能够进行端口转发并连接到数据库)
  • 不适用于Chrome或Firefox
  • 如果我服务localhost而不是127.0.0.1.
from flask.ext.login import LoginManager 

login_manager = LoginManager()
login_manager.session_protection = "strong"
login_manager.init_app(app)
login_manager.login_view = 'login'

def login():
    error = None
    form = LoginForm()

    if request.method == 'POST':
        user = db.users.find_one({"username": form.username.data})
        pass_hash = generate_password_hash(form.password.data)

        if user and User.validate_login( pass_hash,  user['password'] ):
            user_obj = User(user['username'])
            session['logged_in'] = True
            login_user(user_obj,remember=True)
            flash("Logged in successfully", category='success')
            print 'logged in: OK'

            #return redirect(request.args.get("next") or url_for("index"))
            return redirect( url_for("index"))
        error = 'Invalid credentials'
    return render_template('login.html', title='login', **locals()) …
Run Code Online (Sandbox Code Playgroud)

python flask flask-login

13
推荐指数
1
解决办法
765
查看次数

Flask会话变量在请求之间不存在

使用下面的应用程序和Flask 0.11.1,我导航到与以下函数调用关联的路由,给定结果:

  • create():'1,2,3'#OK
  • 删除(1):'2,3'#好的
  • 删除(2):'1,3'#expected'3'
  • maintain():'1,2,3'#expected'1,3'或'3'

 

from flask import Flask, session

app = Flask(__name__)

@app.route('/')
def create():
    session['list'] = ['1','2','3']
    return ",".join(session['list'])

@app.route('/m')
def maintain():
    return ",".join(session['list'])

@app.route('/r/<int:id>')
def remove(id):
    session['list'].remove(str(id))
    return ",".join(session['list'])

if __name__ == '__main__':
    app.secret_key = "123"
    app.run()
Run Code Online (Sandbox Code Playgroud)

这个问题与这个问题的主题类似,这个这一个,但是我设置了密钥而不是重新生成它,我的变量肯定不会超过cookie允许的4096字节.也许我错过了一些关于Flask会话变量的基本理解?

python session flask

10
推荐指数
2
解决办法
8026
查看次数

Flask会话忘记了请求之间的输入

我正在使用最新的Flask/Werkzeug(Flask 0.9)客户端会话来保持请求之间的信息.会话未设置为持久性(因为我很好,当浏览器关闭时cookie被删除).

我的问题如下:

我使用一些服务器端代码用条目填充Flask会话变量.在此之后,Session变量看起来像这样:

<SecureCookieSession {u'items': SOMENOTVERYIMPORTANTDICTIONARY}, '_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}*>
Run Code Online (Sandbox Code Playgroud)

我使用这些信息将一个执行GET请求的页面(通过JQuery)呈现给同一个Flask应用程序,但突然间会话中包含"items"条目的字典消失了:

<SecureCookieSession {'_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}>
Run Code Online (Sandbox Code Playgroud)

我做了一些搜索,并认为这可能与我在localhost上测试的事实有关(127.0.0.1与localhost不同).我修复了我的hosts文件并添加了一个'dev.localhost'条目,以确保所有请求都来自同一主机.

此外,我的浏览器(Chrome)的开发人员窗格显示与发送到服务器的会话cookie完全相同的标识符.

此外,设置session.modified = True没有帮助.

请求之间唯一的变化是

__utmb=122666782.18.10.1363877633
Run Code Online (Sandbox Code Playgroud)

对于第一个请求(填充items条目的请求)与第二个请求

__utmb=122666782.19.10.1363877633
Run Code Online (Sandbox Code Playgroud)

认为它仍然可能是与Ajax相关的东西.我在简单的页面重新加载后测试了会话变量的内容:该items条目仍然从会话中消失.

任何帮助将不胜感激.

python jquery session-variables session-cookies flask

8
推荐指数
1
解决办法
3450
查看次数

Flask 会话不会在 Angular App 的请求之间持续存在

我有一个 Angular 应用程序,它需要调用一个 Flask 服务器,该服务器使用会话在请求之间存储信息。

我还有一个旧的 JS 应用程序,它使用 XMLHttpRequest 调用同一个服务器,我正在用新的 Angular 应用程序替换它。

问题在于,当旧应用程序发出请求时,会话 cookie 会按预期工作,但现在使用 angular 应用程序时却没有。

所有交互都通过本地主机完成。Flask 服务器可从 访问localhost:5000,Angular 应用程序可从localhost:4200.

旧应用程序正在执行这样的请求:

var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://localhost:5000/api/getAll", true);
xhttp.withCredentials = true;
xhttp.send();
Run Code Online (Sandbox Code Playgroud)

Angular 应用程序是这样做的:

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, } from '@angular/common/http';
import { Observable } from 'rxjs';

const httpOptions = {
  withCredentials: true,
  headers: new HttpHeaders({ 
    'Content-Type': 'application/json',
    'charset': 'UTF-8',

    })
};


@Injectable()
export class ServerService {
  url …
Run Code Online (Sandbox Code Playgroud)

python session flask angular

6
推荐指数
1
解决办法
3719
查看次数