小编un1*_*n1t的帖子

Scala,Casbah - 如何将List转换为MongoDBList?

有没有一种简单的方法可以将List转换为MongoDBList(或BasicDBList)?

scala casbah

5
推荐指数
1
解决办法
1106
查看次数

Django UnicodeEncodeError,Apache2与Debian lenny上的mod_wsgi

我在生产服务器上遇到unicode文件名问题.当我试图保存文件时,UnicodeEncodeError异常发生.Devserver工作正常.

www-data的所有语言环境都是'en_US.UTF-8'.

另外,我在/ etc/apache2/envvars中写下了

export LANG='en_US.UTF-8' 
export LC_ALL='en_US.UTF-8'
Run Code Online (Sandbox Code Playgroud)

它没有帮助.

locale.getdefaultlocale()返回(None,None),然后我将以下行添加到django.wsgi

os.environ['LANG']='en_US.UTF-8'
os.environ['LC_ALL']='en_US.UTF-8'
Run Code Online (Sandbox Code Playgroud)

locale.getdefaultlocale()开始返回后('en_US','UTF8')

我注意到sys.getdefaultencoding()返回'ascii',但我不知道如何解决它.

追溯:

Traceback:
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/contrib/admin/options.py" in wrapper
  366.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/utils/decorators.py" in _wrapped_view
  91.                     response = view_func(request, *args, **kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  89.         response = view_func(request, *args, **kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/contrib/admin/sites.py" in inner
  196.             return view(request, *args, **kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/utils/decorators.py" in _wrapper
  25.             return bound_func(*args, **kwargs)
File "/home/myproject/myproject.com/python/lib/python2.5/site-packages/django/utils/decorators.py" in _wrapped_view
  91.                     response = view_func(request, *args, …
Run Code Online (Sandbox Code Playgroud)

django

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

使用Flask和PyMongo

我有Flask应用程序,看起来像这样:

from flask import Flask
app = Flask(__name__)
from pymongo import MongoClient

def get_db():
    c = MongoClient()
    return c.mydb

@app.route("/")
def hello():
    db = get_db()
    db.foo.find_one(...)
    ...

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

似乎它工作正常.但我不确定一件事.我在每个视图调用中创建一个MongoClient实例(以及与db的连接).但我应该关闭连接吗?

也许我应该在每个视图调用后关闭连接,如下所示:

@app.before_request
def before_request():
    g.db = get_db()

@app.teardown_request
def teardown_request(exception):
    g.db.close()
Run Code Online (Sandbox Code Playgroud)

你怎么处理这个东西?

python mongodb flask

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

Flask,MongoEngine,WTForms-表单呈现错误

我有以下模型:

class Post(Document):
    body = db.StringField(required=True)
    author = db.StringField(verbose_name="Author", max_length=255, required=True)
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    comments = db.ListField(db.EmbeddedDocumentField('Comment'))
Run Code Online (Sandbox Code Playgroud)

和下面的视图:

from flask.ext.mongoengine.wtf import model_form

@app.route('/')
def home():
    form = model_form(Post, exclude=('created_at', 'comments'))
    return render_template('home.html', form=form)
Run Code Online (Sandbox Code Playgroud)

我不知道如何在模板中呈现此表单。我确实尝试了几件事:

{% for field in form %}
    {{ field }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误:

TypeError: 'FormMeta' object is not iterable
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

{{ form.body() }}
Run Code Online (Sandbox Code Playgroud)

有不同的错误:

AttributeError: 'UnboundField' object has no attribute '__call__'
Run Code Online (Sandbox Code Playgroud)

和{{form.body}}这样的渲染

<UnboundField(TextAreaField, (), {'default': None, 'validators': [<wtforms.validators.Required object at 0x7f63804d0fd0>], 'description': '', 'filters': [], …
Run Code Online (Sandbox Code Playgroud)

mongoengine flask wtforms

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

标签 统计

flask ×2

casbah ×1

django ×1

mongodb ×1

mongoengine ×1

python ×1

scala ×1

wtforms ×1