タグ付けされた質問 「flask」

Flaskは、Pythonを使用してWebアプリケーションを開発するための軽量フレームワークです。

5
Dockerに最小限のフラスコアプリをデプロイする-サーバー接続の問題
私が唯一依存しているアプリはフラスコです。これはdocker外で正常に動作し、デフォルトのポートにバインドします5000。ここに完全なソースがあります: from flask import Flask app = Flask(__name__) app.debug = True @app.route('/') def main(): return 'hi' if __name__ == '__main__': app.run() 問題は、私がこれをdockerにデプロイすると、サーバーは稼働していますが、コンテナーの外部から到達できないということです。 以下は私のDockerfileです。画像はフラスコがインストールされたubuntuです。tarにはindex.py上記のリストが含まれています。 # Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz RUN tar x -f perfektimprezy.tar.gz RUN rm perfektimprezy.tar.gz # …

10
テンプレートファイルが存在するにもかかわらず、FlaskがTemplateNotFoundエラーを発生させる
ファイルをレンダリングしようとしていますhome.html。ファイルはプロジェクトに存在しますが、jinja2.exceptions.TemplateNotFound: home.htmlレンダリングしようとすると、ファイルが表示され続けます。Flaskが私のテンプレートを見つけられないのはなぜですか? from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return render_template('home.html') /myproject app.py home.html
107 python  file  templates  flask 

7
Flask開発サーバーを実行すると、なぜそれ自体が2回実行されるのですか?
私はウェブサイトの開発にFlaskを使用しており、開発中は次のファイルを使用してフラスコを実行しています。 #!/usr/bin/env python from datetime import datetime from app import app import config if __name__ == '__main__': print '################### Restarting @', datetime.utcnow(), '###################' app.run(port=4004, debug=config.DEBUG, host='0.0.0.0') サーバーを起動したとき、またはファイルが更新されたためにサーバーが自動再起動したときは、常に印刷行が2回表示されます。 ################### Restarting @ 2014-08-26 10:51:49.167062 ################### ################### Restarting @ 2014-08-26 10:51:49.607096 ################### それは実際には問題ではありませんが(残りは期待どおりに動作します)、なぜこのように動作するのか疑問に思いますか?何か案は?
106 python  flask 

11
ターゲットデータベースが最新ではありません
Flaskアプリの移行を行いたいのですが。私はAlembicを使用しています。 ただし、次のエラーが発生します。 Target database is not up to date. オンラインで、私はそれがこれと関係があると読みました。 http://alembic.zzzcomputing.com/en/latest/cookbook.html#building-an-up-to-date-database-from-scratch 残念ながら、データベースを最新の状態にする方法と、リンクに示されているコードをどこに/どのように書くべきかがよくわかりません。移行の経験がある場合は、これについて説明していただけますか ありがとう

12
ctrl-cを使用せずにフラスコアプリケーションを停止する方法
フラスコスクリプトを使用してフラスコアプリケーションを停止できるコマンドを実装したい。しばらくの間、解決策を探しました。フレームワークは "app.stop()" APIを提供しないので、これをコード化する方法に興味があります。私はUbuntu 12.10とPython 2.7.3に取り組んでいます。


19
Flask ImportError:Flaskという名前のモジュールはありません
私はここでフラスコのチュートリアルに従っています: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world ./run.pyを試してみると、次のようになります。 Traceback (most recent call last): File "./run.py", line 3, in <module> from app import app File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module> from flask import Flask ImportError: No module named flask これは次のようになります。 ImportError:フラスコという名前のモジュールはありません しかし、それらの解決策は役に立ちません。参考のために、私はない一人のユーザーが問題を引き起こす可能性が言及したフォルダという名前のフラスコを持っています。
100 python  flask 

1
Python Flaskの意図的な空の応答
make_response()特定のプロパティを使用して(オブジェクトなどから)応答を返す方法はありますか?これにより、ページが再度レンダリングされず、他にも何も実行されません。出力を生成せずにサーバーでコードを実行しようとしています 単純な 'return None'は以下を生成します: ValueError: View function did not return a response 以下はファイルをダウンロードするだけでテンプレートをレンダリングしないため、これは可能であるはずです。 myString = "First line of a document" response = make_response(myString) response.headers["Content-Disposition"] = "attachment; filename=myFile.txt" return response
98 python  flask  response 

5
Flaskで応答ヘッダーを設定するにはどうすればよいですか?
これは私のコードです: @app.route('/hello', methods=["POST"]) def hello(): resp = make_response() resp.headers['Access-Control-Allow-Origin'] = '*' return resp ただし、ブラウザからサーバーにリクエストを送信すると、次のエラーが発生します。 XMLHttpRequest cannot load http://localhost:5000/hello. No 'Access-Control-Allow-Origin' header is present on the requested resource. 私もこのアプローチを試し、リクエストの「後で」応答ヘッダーを設定しました: @app.after_request def add_header(response): response.headers['Access-Control-Allow-Origin'] = '*' return response サイコロはありません。同じエラーが発生します。ルート関数に応答ヘッダーを設定する方法はありますか?このようなものが理想的です: @app.route('/hello', methods=["POST"]) def hello(response): # is this a thing?? response.headers['Access-Control-Allow-Origin'] = '*' return …
98 python  flask 

10
すべてのFlaskルートにプレフィックスを追加します
すべてのルートに追加したいプレフィックスがあります。現在、すべての定義でルートに定数を追加しています。これを自動的に行う方法はありますか? PREFIX = "/abc/123" @app.route(PREFIX + "/") def index_page(): return "This is a website about burritos" @app.route(PREFIX + "/about") def about_page(): return "This is a website about burritos"
98 python  routes  flask 


4
uWSGIのポイントは何ですか?
私はWSGI仕様を調べており、uWSGIのようなサーバーがどのように全体像に適合するかを理解しようとしています。WSGI仕様のポイントは、nginxなどのWebサーバーを、Flaskを使用して作成するようなWebアプリケーションから分離することであることを理解しています。私が理解していないのは、uWSGIの目的です。nginxがFlaskアプリケーションを直接呼び出せないのはなぜですか?フラスコはWSGIを直接話すことができませんか?なぜuWSGIはそれらの間に入る必要があるのですか? WSGI仕様には、サーバーとWebアプリの2つの側面があります。uWSGIはどちら側にありますか?
97 python  nginx  flask  wsgi  uwsgi 

3
大文字と小文字を区別しない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 大文字と小文字を区別しない方法でデータベースにクエリを実行する方法があるかどうか疑問に思っているので、2番目の例でも返されます <User u'ganye'>

2
単体テストでJSONを使用してリクエストを送信する方法
リクエストでJSONを使用するFlaskアプリケーション内にコードがあり、次のようにJSONオブジェクトを取得できます。 Request = request.get_json() これは問題なく動作していますが、Pythonのユニットテストモジュールを使用してユニットテストを作成しようとしており、リクエストでJSONを送信する方法を見つけるのが困難です。 response=self.app.post('/test_function', data=json.dumps(dict(foo = 'bar'))) これは私に与えます: >>> request.get_data() '{"foo": "bar"}' >>> request.get_json() None Flaskには、JSON引数があり、投稿リクエスト内でjson = dict(foo = 'bar')を設定できるようですが、unittestモジュールでそれを行う方法がわかりません。

3
Flaskで非同期タスクを作成する
私はFlaskでアプリケーションを書いていますが、WSGI同期とブロッキング以外は非常にうまく機能します。特に、サードパーティのAPIを呼び出すタスクが1つあり、そのタスクが完了するまでに数分かかる場合があります。その呼び出しを行って(実際には一連の呼び出しです)、実行させたいと思います。コントロールがFlaskに戻る間。 私の見解は次のようになります: @app.route('/render/<id>', methods=['POST']) def render_script(id=None): ... data = json.loads(request.data) text_list = data.get('text_list') final_file = audio_class.render_audio(data=text_list) # do stuff return Response( mimetype='application/json', status=200 ) 今、私がやりたいことは final_file = audio_class.render_audio() 実行して、メソッドが戻るときに実行されるコールバックを提供しますが、Flaskはリクエストの処理を続行できます。これは、Flaskを非同期で実行するために必要な唯一のタスクであり、これを実装するための最良の方法についてアドバイスをお願いします。 私はツイステッドとクラインを見てきましたが、おそらくスレッディングで十分であるため、それらが過剰であるかどうかはわかりません。または、セロリがこれに適していますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.