問題タブ [go-templates]

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 に答える
2418 参照

html - 404 ページが見つかりません - css ファイルのレンダリングに移動します

私は現在Goで働いています。ローカル マシンに Web サーバーを作成しました。Go Web アプリケーションで CSS をレンダリングするこのページの指示に従いましたが、 それでもプログラムが css ファイルの場所を見つけられないという 404 エラーが発生します。私のディレクトリは次のとおりです。

srcフォルダに が含まれています。またcss/somefilename.csssrcも含まれていますserver/server.go

server.go私のファイル内のコードは次のとおりです。

に行くとlocalhost:8080/css/、404ページが見つかりません。また、テンプレートを使用して html コードをレンダリングしています。テンプレートはフォルダにあります

htmlコードは次のとおりです。

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

http - 「テンプレート」パッケージを使用して Golang でクライアントに動的 Web ページを生成すると時間がかかりすぎる

templateパッケージを使用して動的 Web ページをクライアントに生成すると、非常に遅くなります。

以下のコードのテスト、golang 1.4.1

ログによると、 で約 3 秒かかったことがわかりましt.Execute(w, nil)た。なぜそんなに時間がかかるのかわかりません。Apache サーバーもテストtest.htmlしてみましたが、非常に高速に応答しました。

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

templates - 使用された変数をリストする方法はありますか?

基本的な go テキスト/テン​​プレートがあるとしましょう:

テンプレートで使用される変数名の配列を取得したいのですが、実行するために渡すデータでそれらが利用できない場合に実行をスキップできるようにするために、どうにかしてそれを行うことは可能ですか?

私のデータは構造体ではなくマップであるため、.var を実行すると常に何かが返されます。それが存在しない場合は、テンプレートの実行時にエラーが発生することを期待していたときに空の文字列が返されます。

したがって、上記の例では、次のようになりました。

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

go - Go テンプレートの範囲ループでは、ループの外側で宣言された変数は反復ごとにリセットされますか?

Go テンプレートの範囲ループの外で宣言された変数を使用して、前の投稿が現在の投稿と同じ日に発生したかどうかを確認しようとしています。簡単な例を次に示します。

where.Postsはそれぞれ a.Contentと aを持つ post 構造体の配列です.Date

問題は、ループの各反復の開始時に$prevDateリセットされるように見えることです。""

反復ごとに値がリセットされる理由を理解し、$prevDateここでやろうとしていることを達成する方法を提案してくれる人はいますか?

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

html - テンプレートの継承で空のページが読み込まれる

私はGolang + AppEngineで基本的なアプリに取り組んでおり、Djangoのようなテンプレート継承を実装しようとしています.これまでのところ、次のコードがあります:

私のテンプレート: base.html

index.html

ページが読み込まれ、エラーはありませんが、空白です。何が間違っているのかわかりません

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

arrays - 構造体の配列フィールドで HTML をエスケープする

構造体に配列フィールドがある場合、HTML をエスケープするにはどうすればよいですか?

単一のショー ページの場合、次のコードが機能します。

show.go:

インデックス ページの場合:

index.go

index.html:

構造体フィールドにまたがっているときに HTML をエスケープするにはどうすればよいですか?

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

python - テンプレート変数の置換のみ。テキスト/テン​​プレートは適切ですか?

ユーザー提供のテキスト ファイル内の一連のプレースホルダー/トークンを、単純なマップまたは環境変数に格納されている対応する値に置き換える効率的な方法を探しています。問題は、テンプレート ファイルがエンド ユーザーによって提供されることです。そのため、コード実行などのリスクなしに、変数の置換のみを行う「安全な」方法を探しています。

Go の標準の「テキスト/テン​​プレート」は、置換自体には機能しますが、特定のフォーマット要件 (たとえば、キーの前のドット「.」) を課し、その関数呼び出し、パイプラインなどで他の可能性を開きます。

したがって、私が探しているのは、理想的には、テキスト ファイルを構成可能な区切り記号 ("{{}}" または "${}" または "$##$") で解析し、検出されたすべてのトークンを提供されたマップまたはその環境変数値へのルックアップ。Python のstring.Template( https://docs.python.org/2.6/library/string.html?highlight=string.template#string.Template ) と同様です。

このためにテキスト/テン​​プレート ライブラリを構成または再利用する簡単な方法はありますか? ユースケースにより適した他のアプローチはありますか? golang 以外のオプション ( 、スクリプトなど) も調べたenvsubtrのでawksed何かがより適している場合は、自由に Go の外に出てください。

サンプル入力ファイル ('template.properties'):

サンプル入力データ:

処理後に期待される出力:

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

go - golang でテンプレート エラーを処理する慣用的な方法

次のhtml/templateようなものがあるとします。

と時々SomeFuncエラーを返します。これに対処する慣用的な方法はありますか?

に直接書き込むResponseWriterと、エラーが発生する前にステータス コード 200 が既に書き込まれています。

template.Executeできればステータス コード 400 などを返しますが、で直接使用すると、これを行う方法がわかりませんResponseWriter。足りないものはありますか?