問題タブ [flask-assets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - GAE: {% extends "base.html" %} で Flask/webassets が期待値をスローする
既存のフラスコ アプリを Google アプリ エンジンに移植しようとしています。多くの問題を読んで解決した後、私は完全に立ち往生している問題に出くわしました。
ローカル環境でアプリを起動すると、次のエラー メッセージが表示されます。
短縮版:
この機能を実装できないのはなぜですか? それはフラスコ/jinja2 の一部です。
より長いバージョン:
これが何であるか考えていますか?どうもありがとう
flask - Flask インポート静的リソース
問題:以外のルートから静的リソースにアクセスすると、404 が発生します'/'
。
アプリケーションのフォルダーに呼び出さvolume.png
れた画像があります。メインページを使用するようにルーティングすると、画像が正常であることがわかり、 を押すと画像を表示できます。しかし、たとえば などの他のリンクを使用すると、 で画像が見つからないと表示されます。ディレクトリを作成してそこにコピーしても、入力すると. の使用を検討しましたが、ドキュメントや例があまりないようです。ルートが静的リソースに確実にアクセスできるようにするにはどうすればよいですか?static
Flask
'/'
@app.route('/')
localhost:5000/static/images/volume.png
'/s'
s/static/images/volume.png
s
static
404
localhost:5000/s/static/images/volume.png
Flask-Assets
python - Flask-Assets でパッケージ化されたアセットを使用する方法
Flask のデフォルトの static/ ディレクトリの外にある Flask-Assets を使用してアセットをバンドルするにはどうすればよいですか?
npm install
アセットをダウンロードしていますbower_components/
- に存在する他のJavaScriptがあります
javascripts/
- Flasks アプリのファクトリ パターンを使用していますが、Flask-Assets をどのように構成しようとしても、
assets instance not bound to an application, and no application in current context
例外を回避できません。
特に、アプリの static/ ディレクトリの外で生のアセットとパッケージ化されたアセットを管理する方法の例を教えていただければ幸いです:P
アプリの構造
app/assets.py
アプリ/初期化.py
python - Flask アセットが間違ったディレクトリで検索される
Flask-Assets
アセットを読み込もうとしています。
私のcssはここにあります:/home/myname/projects/py/myapp/myapp/static/css/lib/somecsslib.css
デフォルトでは、間違ったディレクトリを探しています。私はこれを得る:
No such file or directory: '/home/myname/projects/py/myapp/static/css/lib/somecsslib.css'
通常どおり初期化しています。
assets = Environment(app)
を設定してみましたload_path
:
assets.load_path = '/home/myname/projects/py/myapp/myapp/static/'
これを行うと、次のエラーが表示されます。
BundleError: 'css/lib/somecsslib.css' not found in load path: /home/myname/projects/py/myapp/myapp/static/
編集
であることがわかりましload_path
たlist
。
代わりにこれを試しました:
assets.load_path.append('/home/myname/projects/py/myapp/myapp/static/')
結果としてこれを得ました:
BuildError: [Errno 2] No such file or directory: '/css/lib/somecsslib.css'
flask - uWSGI で実行すると Flask Assets バンドルがコンパイルされない
フラスコアプリを直接実行すると正常に実行されますが、uWSGI で実行するとテンプレートのアドレスがコンパイルまたは置換されません。
どうすればこれをデバッグできますか?
編集:
コード: assets = Environment(アプリ)
assets.yml:
flask - Flask-Assets を使用して複数のアセットを 1 つのバンドルにまとめる
Flask プロジェクトの静的ディレクトリにいくつかの CSS ファイルと、いくつかの SCSS ファイルがあります。今、私は手動で SCSS ファイルをコンパイルしていますが、Flask-Assets にそれをやってもらいたいです。filter="pyscss"
CSS のみのバンドルを準備する方法は知っていますが、バンドルする前にコンパイルする必要があるこのバンドル SCSS ファイルに混在させる方法はありますか?
python-3.x - フラスコ資産; デバッグがオンのときに毎回scssを再生成するにはどうすればよいですか?
flask-assets
scssの設定方法は次のとおりです。
私の設定では、設定しましたASSETS_DEBUG = True
これは機能し、ファイルapp/static/scss_all.scss
とフォルダーが生成されますapp/static/.webassets.cache
。スタイルは意図したとおりにサイトに表示されます。
ただし、問題は、scss スタイル シートを再生成する場合、上記のファイルを削除する必要があることです。これは、scss をいじっていると面倒です。
app.debug
が に設定されている場合、リローダーでこれらのファイルを自動的に再生成する方法はありますTrue
か?
(余談:フラスコの開発バージョンを使用しています)
python - 一部のコードを縮小しないよう Webassets に指示する
Webassetsを使用するFlask Assetsを使用しています。私のHTMLを取り除くのに素晴らしい仕事をします。
ただし、空白を削除したくない領域の空白を削除します。コードの 1 つの領域から空白を取り除かないように webassets に指示する方法はありますか?
python - 少数のユーザーが並行して使用すると、Flask アプリが遅くなる
私はいくつかの単純な Jinja2 テンプレートを備えた Flask アプリを持っています。さらに、CSS には Flask-Assets/pyScss を使用します。
1 人のユーザーがアプリを操作する場合、すべてがうまく機能します。少数のユーザー (20 人未満) が同時にアプリにアクセスすると、応答時間が大幅に長くなり、サーバーがまったく応答していないように感じられることがあります。
私は試した:
ab -n 1000 -c 20 http://myapp
しかし、「人為的に」問題を再現することはできませんでした。この種の問題をどのようにデバッグしますか?