問題タブ [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 投票する
1 に答える
3052 参照

python - フラスコurl_forTypeError

Flaskでurl_forメソッドを使用しようとするとエラーが発生します。私はFlaskクイックスタートに従うだけなので、その原因はわかりません。私はPythonの経験が少しあるJavaの人で、Flaskを学びたいと思っています。

トレースは次のとおりです。

私のコードは次のようなものです:

Flaskの安定版と開発版の両方を試しましたが、それでもエラーが発生します。どんな助けでも大歓迎です!私の英語があまり上手ではない場合は、ありがとうございます。

0 投票する
0 に答える
197 参照

ruby-on-rails - 別のコントローラからパーシャルを再レンダリングすると、Rails の url_for ヘルパーが失敗するのはなぜですか?

主に CustomerController によってレンダリングされるコンテンツを含む一連のウィジェットを含むページがあります。ただし、顧客のアイテムへの変更に関するビジネス ロジックを処理するために使用される、DigitalItemController と呼ばれる別のコントローラーがあります。POST 経由で DigitalItemController のメソッドによって処理されるファイルをアップロードするために使用されるフォームがあります。フォームは、アップロードした顧客ファイルが含まれているため、:customer_assets という名前のパーシャルにあります。この同じウィジェットには、既にアップロードされたファイルとそれらへのリンクのテーブルがあります。

私が抱えている問題は、CustomerController が通常レンダリングを行うため、問題なくパーシャルをレンダリングすることです。ただし、アップロードするファイルをユーザーに送信させると、DigitalItemController のメソッドが呼び出され、その最後の行でパーシャルをレンダリングするように指示されます。その行に到達すると、パーシャルをレンダリングしようとするため、ActionController::RoutingError が発生します。気に入らない行は次のとおりです。

ここでは DataController が明示的に使用されているため、問題があるとは思いませんでした。以前のようにパーシャルを再レンダリングしたいことを知っているはずです。ただし、代わりにこれを取得します。

念のため、ここの ID 番号は明らかに検閲されています。私がする必要があるのは、DigitalItemController のそのメソッドでファイルのアップロードを処理し、パーシャルを再レンダリングして、ウィジェットが正しい最新のデータを表示するようにすることだけです。通常のレンダリングでは問題なくレンダリングされるのに、ファイルが送信されるとすぐにルーティング エラーがスローされるのは奇妙に思えます。

これを修正する方法は何ですか?

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

python - Python/Flask/Jinja url_for フォーマット

Flask の url_for を使用してタグの URL を生成しようとしていますが、「+」をエンティティ/URL コード「%2B」に置き換えているようです。これはかなり醜い URL になります。'+' の方がより好まれます。

それで、私の質問は、どのように url_for を使用できますか?しかし、HTML エンティティにフォーマットせずに「+」を受け入れるようにするにはどうすればよいですか?

0 投票する
0 に答える
483 参照

ruby-on-rails - パラメータ付きの文字列からのRails url_for

作成しようとしているサイト ローカルの tinyurl があるので、コントローラー アクションに対応しない URL のフル パスを表示する必要がありますが、これは機能しません。

url_for文字列を取る はパラメータを取らないためです。

どうすればこれを達成できますか?

コメントに従って編集します。

config/routes.rb:

レーキ:

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

ruby-on-rails - url_for [:new, Project] が new_projects_url (単数形) ではなく、new_projects_url (複数形) に変換されるのはなぜですか?

url_for [:new, Project, :test]私は特に興味深いと思います: ここprojectは単数形です!

new_project_urlのような配列から (またはパス)を生成する方法を知っている人はい[:new, Project]ますか?

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

python - Flask: サブディレクトリ内の静的ファイル

フラスコのテンプレート ファイルに、次のような css ファイルを含めます (ボイラープレートは省略しました)。

url_for('static', filename='css/bootstrap.css')

これは、(先頭のスラッシュのために)どの手段にレンダリングさ/static/css/bootstrap.cssれ、 として解釈されdomain.com/static/css/boostrap.cssます。残念ながら、実際のstaticフォルダーはサブディレクトリにあります。domain.com/projects/test/static/

環境仕様:

フォルダーにある私のfcgiファイル~/fcgi-bin(ホスト固有だと思います):

私の .htaccess は domain.com/projects/test/ にあります

要約すると、代わりにurl_for('static', filename='css/bootstrap.css')戻りたいstatic/css/bootstrap.css/static/css/bootstrap.css

編集#1

これは、url_for('about') のような静的ファイルではなく、通常の url_for 呼び出しでも発生することに気付きました。

編集#2

これについては、 quickstart-appブログ記事を書きました。

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

python - Flask url_for が間違った URL を生成する

フラスコの url_for ジェネレーターがビューの 1 つで機能しません (他のビューで機能します)。/user/?name=Joe私が期待している間、ジェネレーターは与えてい/u/Joeます。

テンプレートでは、次を使用してユーザー ページの URL を取得しようとしています。{{ url_for('user', name = g.user.name ) }}

これは対応するビュー関数です:

最初はこれでうまくいきましたが、何かが変わりました。ビュー名と URL を変更しようとしましたが、うまくいきませんでした。

何かご意見は?私はこれで途方に暮れています...

完全なアプリは GitHub で入手できます: https://github.com/joehand/weight-and-more-tracker

編集@login_required装飾されたものはFlask-loginによって提供されるものです。

さらに、<name>変数を削除しても問題は解決しません。その場合、URL は/user.

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

ruby-on-rails - アセット パイプラインで url_options を使用して、url_for や link_to などのパラメーターを自動的に追加するにはどうすればよいでしょうか?

1つのレール3.2アプリで、これを行っています。

これは正常に動作します。アセット パイプラインを除きます。css、js、画像など、すべてのアプリの URL にこれらのパラメーターを追加する必要があります。

別のRails 3.2アプリで。奇妙な理由で私は無視します。同じ url_options は機能しませんでした。アセットだけでなく、まったく機能しませんでした。代わりに次のことをしなければなりませんでした。

これは資産に対しても機能しません。私は困惑しています。誰かが解決策を知っているでしょうか?

ありがとう