小编Pac*_*aco的帖子

Boto connect_xxx方法和连接池

如果我多次调用boto.connect_xxx,其中xxx是某个服务(dynamodb,s3等),它每次都会创建一个新的连接池吗?我想做的是这样的事情(Flask中的例子):

@app.before_request
def before_request():
    g.db = connect_dynamodb()
Run Code Online (Sandbox Code Playgroud)

确保我始终连接,但我不希望在每次请求之前执行此操作,如果它每次都会创建新的安全令牌等,整个rigamarole.在应用程序启动时调用connect_xxx()一次是否安全,并依赖boto根据需要生成新连接等等?

python boto amazon-web-services flask

11
推荐指数
1
解决办法
3982
查看次数

django中的多个数据库支持

从一些论坛我开始知道Django在较低级别添加了多个数据库支持,但是尚未添加更高级别的api.

任何人都可以告诉我如何在Django中实现多个数据库连接.

有没有人知道Django何时完全/正式支持多个数据库连接.

python django database-connection

10
推荐指数
3
解决办法
8955
查看次数

Flask消息闪烁在重定向中失败

我目前正在使用FlaskGoogle App Engine开展一个项目.get_flashed_messages()当我刷新消息时,调用返回空,然后使用redirect():

@views.route('/todo/add', methods=["POST"])
def add_todo():
    flash('hey')
    return redirect(url_for('todo_list')) 
Run Code Online (Sandbox Code Playgroud)

但是,如果我发表评论

# SERVER_NAME = 'localhost'
Run Code Online (Sandbox Code Playgroud)

那似乎工作正常.我的问题是我必须使用子域名,因此我需要设置SERVER_NAME.

这笔交易是什么?

python google-app-engine flask

10
推荐指数
1
解决办法
3170
查看次数

使用CGI部署Flask应用程序

我使用Flask框架编写了一个小应用程序.我尝试使用cgi来托管这个.在文档之后,我创建了一个包含以下内容的.cgi文件:

#!/usr/bin/python
from wsgiref.handlers import CGIHandler
from yourapplication import app

CGIHandler().run(app)
Run Code Online (Sandbox Code Playgroud)

运行该文件会导致以下错误:

...

文件"/usr/lib/pymodules/python2.7/werkzeug/routing.py",第1075行,在bind_to_environ中wsgi_server_name = environ.get('HTTP_HOST',environ ['SERVER_NAME'])
KeyError:'SERVER_NAME'
状态:500内部服务器错误
内容类型:text/plain
Content-Length:59

在我的应用程序中,我设置:

app.config['SERVER_NAME'] = 'localhost:5000'
Run Code Online (Sandbox Code Playgroud)

当我使用Flask开发服务器运行应用程序时,它运行得非常好.你可以告诉我,我对这些东西很新,我已经找到了其他有类似错误但没有运气的人.所有帮助表示赞赏.

python cgi flask

10
推荐指数
1
解决办法
8888
查看次数

尝试安装Flask 0.9后出现警告和错误

我正在尝试安装Flask,但我打赌所有这些警告和错误:

alex@alex-K43U:~/flask$ pip install Flask
Downloading/unpacking Flask
  Downloading Flask-0.9.tar.gz (481Kb): 481Kb downloaded
  Running setup.py egg_info for package Flask

    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: …
Run Code Online (Sandbox Code Playgroud)

python install flask

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

运行烧瓶+ gevent +请求不同时"服务"

我这样开瓶我的烧瓶应用程序:

#!flask/bin/python
from app import app_instance
from gevent.pywsgi import WSGIServer

#returns and instance of the application - using function to wrap configuration
app = app_instance()
http_server = WSGIServer(('',5000), app)
http_server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试执行此代码时,请求会调用阻塞,直到原始请求超时.我基本上是在同一个烧瓶应用程序中调用web服务.我对gevent的误解是什么?当i/o事件发生时,线程不会产生吗?

@webapp.route("/register", methods=['GET', 'POST'])
def register():
    form = RegistrationForm(request.form, csrf_enabled=False)
    data = None
    if request.method == 'POST' and form.validate():
        data= {'email': form.email, 'auth_token': form.password,
                'name' : form.name, 'auth_provider' : 'APP'}
        r = requests.post('http://localhost:5000', params=data)
        print('status' + str(r.status_code))
        print(r.json())
    return render_template('register.html', form=form)
Run Code Online (Sandbox Code Playgroud)

python io gevent flask

10
推荐指数
1
解决办法
9106
查看次数

flask-admin没有显示foreignkey列

class Parent(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(120))

    def __repr_(self):
        return '<Parent %r>' % (self.name)

admin.add_view(ModelView(Parent, db.session))


class Child(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(120))
    parent = db.Column(db.Integer, db.ForeignKey(Parent))

admin.add_view(ModelView(Child, db.session))
Run Code Online (Sandbox Code Playgroud)

你好 -

上面的代码是我试图创建的flask-admin页面的示例.目标是在Child的创建页面上有一个名称文本框和一个下拉选择父项.

通过上述设置,只有名称字段.父下拉框丢失.

任何想法如何实现它?

python flask flask-sqlalchemy flask-extensions

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

如何在Django中编辑和删除数据?

我正在使用django 1.0,我使用Django书中的示例创建了我的模型.我能够执行添加数据的基本功能; 现在我需要一种方法来检索数据,将其加载到表单(change_form ?!或其他东西),编辑它并将其保存回数据库.其次,我如何删除数据库中的数据?即搜索,选择然后删除!

请给我一个示例,说明我需要在我的代码上编写代码view.pyurls.py执行此任务.

python django editing

9
推荐指数
1
解决办法
3万
查看次数

在Django中加速批量ORM操作的策略

我的一个API调用可能导致对大量对象(Django模型)的更新.由于我正在单独更新每个项目,保存并继续下一个项目,因此我遇到了性能问题:

for item in Something.objects.filter(x='y'):
    item.a="something"
    item.save()
Run Code Online (Sandbox Code Playgroud)

有时我的过滤条件看起来像"x in('a','b','c',...)".

似乎官方的答案是"不会修复".我想知道人们在这些场景中使用什么策略来提高性能.

python django orm batch-file

9
推荐指数
1
解决办法
3528
查看次数

Flask:子目录中的静态文件

在我的烧瓶模板文件中,我包含一个css文件(我省略了样板文件),如下所示:

url_for('static', filename='css/bootstrap.css')

这将呈现为/static/css/bootstrap.css(由于前导斜杠)它被解释为domain.com/static/css/boostrap.css.不幸的是,实际的static文件夹位于一个子目录中:domain.com/projects/test/static/

环境细节:

我的fcgi文件位于~/fcgi-bin文件夹中(主机特定我猜):

$ cat ~/fcgi-bin/test.fcgi
#!/usr/bin/env python2.7

import sys
sys.path.insert(0, "/home/abcc/html/projects/test")

from flup.server.fcgi import WSGIServer
from app import app

class ScriptNameStripper(object):
   def __init__(self, app):
       self.app = app

   def __call__(self, environ, start_response):
       environ['SCRIPT_NAME'] = ''
       return self.app(environ, start_response)

app = ScriptNameStripper(app)

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

和我的.htaccess位于domain.com/projects/test/

$ cat .htaccess 
<IfModule mod_fcgid.c>
   AddHandler fcgid-script .fcgi
   <Files ~ (\.fcgi)>
       SetHandler fcgid-script
       Options +FollowSymLinks +ExecCGI
   </Files>
</IfModule>

<IfModule mod_rewrite.c>
   Options …
Run Code Online (Sandbox Code Playgroud)

python fastcgi url-for flask

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