問題タブ [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.
flask - Flask navbar url_for
Flask の navbar アイテムを JinJia2 テンプレートにリンクするより良い方法はありますか?
render_template
その HTML ページへのナビバーのすべてのアイテムのルートを作成したくありません。
template
変数を使用して別のルートを作成しようとしましたが、フォルダーのルートの下にある HTML ページでのみ機能します
フォルダーの下のページを取得したい場合template/team
、500エラーが返されます
これを正しく行ってnavbarをリンクしていますか? ルートが完全に機能するように修正するにはどうすればよいですか? または、これを行うためのより良い方法はありますか?
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で実行してください。
python - Pythonフラスコurl_forは、一定のwerkzeugビルドエラーをスローしています
非常に単純なアプリケーションでフラスコの url_for('') エラーが発生しました。
上記は私の設計図ファイルです。これらのルートは正常に機能しますが、実行しようとすると
次のエラーが表示されます。
ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか? 私のhtmlページでは、静的ファイルの場所を次のように印刷できます。
しかし、私がやろうとすると:
繰り返しますが、同じエラーが発生します。どのように進めるかについて、誰かアドバイスがありますか?
python - フラスコの静的フォルダーにない画像にリンクするにはどうすればよいですか
フラスコで、静的フォルダにない画像を提供するにはどうすればよいですか?
現在、ユーザーがアップロードした写真をフラスコフォルダー外のディレクトリに保存しています(オンopenshift
、画像は現在データフォルダーに保存されてapp-root/data
おり、フラスコファイルはにありますapp-root/repo/
)。
テンプレートで、画像ファイルを提供するにはどうすればよいですか?
を使用しurl_for
て、flask フォルダの外にあるこれらの画像ファイルを参照するにはどうすればよいですか?
ご覧のとおり、flask app フォルダーの外側に data フォルダーがあります。フラスコアプリディレクトリから(1レベル上)に保存されているファイルへのリンクを生成するにはどうすればよいdata/uploads
ですか?
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/
、フランス語ではなく英語で表示されます。これが機能していないようです!!!
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::UrlFor
rake タスク (タスク内) とメーラー (両方同時に、それぞれ個別に) の両方で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}"
ヘルプ!
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