問題タブ [url-for]

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.

0 投票する
2 に答える
2318 参照

flask - Flask navbar url_for

Flask の navbar アイテムを JinJia2 テンプレートにリンクするより良い方法はありますか?

render_templateその HTML ページへのナビバーのすべてのアイテムのルートを作成したくありません。

template変数を使用して別のルートを作成しようとしましたが、フォルダーのルートの下にある HTML ページでのみ機能します

フォルダーの下のページを取得したい場合template/team、500エラーが返されます

これを正しく行ってnavbarをリンクしていますか? ルートが完全に機能するように修正するにはどうすればよいですか? または、これを行うためのより良い方法はありますか?

0 投票する
2 に答える
1531 参照

python - Flask と Flask-WTF のパスとオプションの引数を使用して新しいページにリダイレクトしない

Flask と Flask-WTF を使用しており、views.pyファイルに次のコードがあります。

私が望んでいて期待しているのは、誰かがフォームの検索フィールドにテキストを入力して検索ボタンを押すと、その値が返され、適切なページにリダイレクトされることですfoo。 /ふー。

残念ながら、フォーム検証ビットからのリダイレクトは、期待どおりにリダイレクトされません。現在のページをリロードしているように見えます。

flash呼び出しが正しい情報で表示されるため、フォームがデータを取得して返すという事実を知っています。たとえば'Searched for: foo'、キーワードをurl_forページに渡すと、単にリロードされます。手動で移動すると正常に/help/foo動作します。

私はそれが機能していることをテストしました.printsurl_forなどのキーワードを手動で入力すると、必要に応じて適切なパスが作成されます。print url_for('help', keyword='foo')/help/foo

希望どおりにリダイレクトされない理由を知っている人はいますか?

編集:誰かが正確に何が起こっているのかを見たい場合は、 Herokuで実行してください。

0 投票する
2 に答える
4663 参照

python - Pythonフラスコurl_forは、一定のwerkzeugビルドエラーをスローしています

非常に単純なアプリケーションでフラスコの url_for('') エラーが発生しました。

上記は私の設計図ファイルです。これらのルートは正常に機能しますが、実行しようとすると

次のエラーが表示されます。

ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか? 私のhtmlページでは、静的ファイルの場所を次のように印刷できます。

しかし、私がやろうとすると:

繰り返しますが、同じエラーが発生します。どのように進めるかについて、誰かアドバイスがありますか?

0 投票する
1 に答える
18238 参照

python - フラスコの静的フォルダーにない画像にリンクするにはどうすればよいですか

フラスコで、静的フォルダにない画像を提供するにはどうすればよいですか?

現在、ユーザーがアップロードした写真をフラスコフォルダー外のディレクトリに保存しています(オンopenshift、画像は現在データフォルダーに保存されてapp-root/dataおり、フラスコファイルはにありますapp-root/repo/)。

テンプレートで、画像ファイルを提供するにはどうすればよいですか?

を使用しurl_forて、flask フォルダの外にあるこれらの画像ファイルを参照するにはどうすればよいですか?

ご覧のとおり、flask app フォルダーの外側に data フォルダーがあります。フラスコアプリディレクトリから(1レベル上)に保存されているファイルへのリンクを生成するにはどうすればよいdata/uploadsですか?

0 投票する
1 に答える
1271 参照

python - URL で言語が指定されていない場合、Flask-babel とブループリントを使用して URL をルーティングできない

私はしばらくFlask-babelを掘り下げてきましたurl routingが、単純なblueprint. 縮小版アプリはこちら

私の__ init __.py ファイルで、

ブループリントのviews.pyファイル内

に移動する限り、これは完全に正常に機能しますhttp://localhost:5000/frが、(言語なしで) に移動するとhttp://localhost:5000/、404 エラーが発生します。通常 - ブループリントはプレフィックスとして lang_code を想定しているため。

ユーザーが初めてhttp://localhost:5000/(lang なしで) に移動したときに、サイトが「fr」の言語を含むページを表示することを期待しています。ユーザーが英語に切り替えてに移動するとhttp://localhost:5000/、フランス語ではなく英語で表示されます。これが機能していないようです!!!

0 投票する
1 に答える
611 参照

ruby-on-rails-4 - Rails 4 の rake タスクによって送信された電子メールの url_for

1 日のプレイヤー アクティビティのダイジェスト メールを毎日送信するレーキ タスクがあります。(以下のコード例を参照してください。)PlayerActivityMailer.activity_report.deliverコンソールで実行すると、すべて正常に動作します。ただし、rake タスクを呼び出そうとすると、次のエラーが発生します。

いくつかの調査を行った後、Rails 4 では完全に弱体化していることがわかりましたActionView::Helpers::UrlHelper.url_for( http://apidock.com/rails/v4.1.8/ActionView/Helpers/UrlHelper/url_for - 4.0.2 の下にある巨大な赤いマイナス記号に注意してください)。 . ソースを見ると、私が見ているエラーを見ることができます - もうオプションは必要ありません。私が知る限り、その機能はurl_forのような他の にもまだ存在しActionDispatch::Routing::UrlForます。また、エラー メッセージにはRails.application.routes.url_helpers.

私が試したこと

  • include ActionDispatch::Routing::UrlForrake タスク (タスク内) とメーラー (両方同時に、それぞれ個別に) の両方で
  • include Rails.application.routes.url_helpersインクルードの有無にかかわらず、同じ場所と構成でUrlFor

エラーは引き続き発生します。私の推測では、ページ ビューはまだ のActionView::Helpers::UrlHelperバージョンの使用を主張していurl_forます。ビューに実際に物事を含めることはできないと思います(できたとしても、見栄えが悪く、ハックです)。

コード例 (大幅にサニタイズ済み)

config/environtments/development.rb:

lib/タスク/player.rake:

app/mailers/player_activity_mailer.rb:

app/views/player_activity_mailer/activity_report.html.erb:

また、routes.rb ファイルにモデル Player があり、Player にresources :players関連付けられた PlayerActivity クラスがあります。

私は現在、player_url 部分の代わりに@base_url = Rails.configuration.action_mailer.default_url_options[:host]、メーラー アクションとビューで (本当に恐ろしい) 回避策を使用しています。"http://#{@base_url}/players/#{activity.player.id}"

ヘルプ!

0 投票する
3 に答える
1092 参照

ruby-on-rails - `url_for` メソッドを設定するために URL パラメータを受け入れるのは安全ですか?

私は Ruby on Rails 4.1.1 を使用しています。次のように、url_forメソッドに直接渡されるパラメーターを (URL クエリ文字列を介して) 受け入れることを考えています。

上記のアプローチを採用すると、アクションの実行後にユーザーをリダイレクトできます。paramsただし、セキュリティ上の問題につながる可能性のある恣意的な入力ができると思います...

メソッドに入力する URL パラメーターを受け入れても安全url_forですか? 落とし穴とは?最悪の場合、何が起こりますか?


アプリケーションへのリクエスト中にログを記録paramsすることで、Rails が常に パラメーター:controllerを追加していることに気付きました。内部で保護されており、Rails が意図しているように動作するため、action確認は上記の方法で使用できる可能性があります。url_for