Tag:

在Python中获取数组作为GET查询参数

我知道在PHP中,我可以只使用$_GET['key1']['key2']来检索以数组forms发送的GET数据,但在Python中是可能的东西,因为我刚刚收到一个string,它不被识别作为数组/列表。 如果有问题,我使用烧瓶/ werkzeug。

如果我的方法有多个路由注释,如何使用url_for?

所以我有一个可以被多个路由访问的方法: @app.route("/canonical/path/") @app.route("/alternate/path/") def foo(): return "hi!" 现在,我怎么能调用url_for("foo")并知道我会得到第一个路线?

如何使用Python和Flask获取请求variables的值

我想知道如何去使用Python和Flask获取POST / GET请求variables的值。 用Ruby,我会做这样的事情: variable_name = params["FormFieldValue"] 我怎么用Flask来做这个?

如何在python中打开一个url

import urllib fun open(): return urllib.urlopen('http://example.com') 但是,当example.com打开它不呈现CSS或JS。 如何在networking浏览器中打开网页? @error(404) def error404(error): return webbrowser.open('http://example.com') 我正在使用瓶子。 给我的错误: TypeError("'bool' object is not iterable",)

将Python Flask应用分割成多个文件

我无法理解如何将烧瓶应用程序拆分为多个文件。 我正在创build一个Web服务,我想将API分成不同的文件(AccountAPI.py,UploadAPI.py,…),所以我没有一个巨大的Python文件。 我已经读过,你可以用蓝图来做这件事,但我并不完全确定这条路线对我来说是正确的。 最终,我想运行一个主要的Python文件,并包含其他文件,以便在运行时,它们被认为是一个大文件。 例如,如果我有Main.py和AccountAPI.py我想能够做到这一点: Main.py: from flask import Flask import AccountAPI app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run() AccountAPI.py: @app.route("/account") def accountList(): return "list of accounts" 我知道这个例子显然是行不通的,但是可以这样做吗? 谢谢

从Scala文件创build一个jar文件

我是新来的Scala,不知道Java。 我想从一个简单的Scala文件中创build一个jar文件。 所以我有我的HelloWorld.scala,生成一个HelloWorld.jar。 MANIFEST.MF: Main-Class: HelloWorld 在控制台中我运行: fsc HelloWorld.scala jar -cvfm HelloWorld.jar Manifest.mf HelloWorld\$.class HelloWorld.class java -jar HelloWorld.jar => "Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/jar" java -cp HelloWorld.jar HelloWorld => Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at […]

在Blueprint模型中使用Flask-SQLAlchemy而不参考应用程序

我正在尝试使用蓝图在Flask中创build一个“模块化应用程序”。 然而,在创build模型时,我遇到了必须引用应用程序以获取由Flask-SQLAlchemy提供的db -object的问题。 我想能够使用一个以上的应用程序的蓝图(类似于如何使用Django应用程序),所以这不是一个好的解决scheme。 有可能做一个switcharoo,并让蓝图创builddb实例,然后应用程序将其与蓝图的其余部分一起导入。 但是,任何其他希望创build模型的蓝图都需要从蓝图中导入,而不是从应用程序导入。 我的问题是这样的: 有没有办法让Blueprints定义模型,而没有意识到他们以后使用的应用程序 – 并且有几个蓝图组合在一起? 通过这个,我的意思是不得不从你的蓝图导入应用程序模块/包。 我从一开始就错了吗? 蓝图是不是意味着独立的应用程序和可重新分发(àDjango的应用程序)? 如果不是,那么你应该使用什么样的模式来创build类似的东西? 烧瓶扩展? 如果你不这样做 – 也许集中所有模型/模式在Ruby on Rails? 编辑 :我一直在思考这个问题,这可能与Flask更多地涉及SQLAlchemy,因为在声明模型时你必须有declarative_base() 。 无论如何,这都是从某个地方来的! 也许最好的解决scheme是将你的项目模式定义在一个地方,并像Ruby on Rails那样分布。 声明式的SQLAlchemy类定义实际上比schema.rb更像是Django的models.py。 我想这也可以使迁移更容易(从alembic或sqlalchemy迁移 )。 我被要求提供一个例子,所以让我们做一些简单的事情吧:假设我有一个蓝图来描述数据库中存储的简单的“静态”内容。 它使用一个只有短名称(对于URL),一个标题和一个正文的表。 这是simple_pages/__init__.py : from flask import Blueprint, render_template from .models import Page flat_pages = Blueprint('flat_pages', __name__, template_folder='templates') @flat_pages.route('/<page>') def show(page): page_object = Page.query.filter_by(name=page).first() return […]

一起使用烧瓶和龙卷风?

我是Flask的忠实粉丝 – 部分原因是它很简单,部分原因是因为它有很多扩展 。 然而,Flask是为了在WSGI环境中使用,WSGI不是非阻塞的,所以(我相信)对于某些types的应用程序来说,它不能像Tornado那样扩展。 由于每个人都有一个URL调度器将调用一个函数,都将使用Python文件(在Django中,你不启动python文件,但在烧瓶或龙卷风你做)是否有意义,有两个单独的部分到您的网站 – 一部分是用Tornado运行非阻塞作业,另一部分是用Flask写的? 如果这是一个好主意,你会怎么去分享Flask和Tornado之间的cookies /会话? 我会遇到问题,因为烧瓶将使用自己的系统,龙卷风将使用自己的系统?

在Flask应用程序中提交表单时,请求错误的原因是什么?

在阅读了许多类似的声音问题和相关的Flask文档之后,我似乎无法弄清楚在提交表单时会产生以下错误: 400错误的请求 浏览器(或代理)发送一个请求,这个服务器无法理解。 虽然表单总是正确显示,但是当我提交与以下任一函数关联的HTML表单时,会发生错误的请求: @app.route('/app/business', methods=['GET', 'POST']) def apply_business(): if request.method == 'POST': new_account = Business(name=request.form['name_field'], email=request.form['email_field'], account_type="business", q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'], q5=request.form['q5_field'], q6=request.form['q6_field'], q7=request.form['q7_field'], account_status="pending", time=datetime.datetime.utcnow()) db.session.add(new_account) db.session.commit() session['name'] = request.form['name_field'] return redirect(url_for('success')) return render_template('application.html', accounttype="business") @app.route('/app/student', methods=['GET', 'POST']) def apply_student(): if request.method == 'POST': new_account = Student(name=request.form['name_field'], email=request.form['email_field'], account_type="student", q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'], […]

不区分大小写的Flask-SQLAlchemy查询

我正在使用Flask-SQLAlchemy从用户的数据库中查询; 然而, user = models.User.query.filter_by(username="ganye").first() 将返回 <User u'ganye'> 干 user = models.User.query.filter_by(username="GANYE").first() 回报 None 我想知道是否有一种方法来以不区分大小写的方式查询数据库,以便第二个示例仍然会返回 <User u'ganye'>