問題タブ [go-html-template]

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 投票する
3 に答える
9131 参照

templates - html/template でアクションの後に空白を制御するにはどうすればよいですか?

空白の制御に問題があり、まだhtml/templateテンプレートを読みやすい形式にフォーマットしています。私のテンプレートは次のようになります。

レイアウト.tmpl

body.tmpl

コード

しかし、それは生成します (注: doctype の上に行があります):

私が欲しいのは:

他のテンプレート言語では、次のようなことが言えます

アクションの前後の空白は取り除かれますが、そのようなものはhtml/template. これは本当に、次のようにテンプレートを読み取れないようにする必要があるということですか?

レイアウト.tmpl

body.tmpl

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

css - 読み込まれたテンプレートに基づく css クラス

次のように、_base.html テンプレートにこのブートストラップ ナビゲーションがあります。

Golang を使用して追加したい

対応するリスト項目に。

html/templateドキュメントとthisoneのような記事を読みましたが、追加する golang 関数を作成する必要があるようです。

対応するすべての対応するリスト項目に。しかし、どういうわけか、次のようなものを追加できればもっときれいになると思います

またはそのようなもの。Rob Pike が、Golang がすべての計算を行うべきだと言ったことを覚えていますが、html/template-package に「if」ステートメントがあるのはなぜですか?

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

go - Go - html/template、template.ParseGlob()、およびコードの再利用

html/templateGoを使用してテンプレートを埋め込むことに頭を悩ませようとしています。私はロジックのないテンプレートのデザインがとても好きで、期待通りに安全にエスケープする能力に自信を持っています (他のテンプレート ライブラリがこれを間違えることがあります)。

ただし、「最終的な」テンプレート名に基づいて HTTP ハンドラーでテンプレートをレンダリングするための小さなヘルパーを実装しようとすると、少し問題が発生します。私の base.tmpl は、すべてのページで事実上「標準」であり、そうでない場合は{{ template checkoutJS }}、base.tmpl に設定し、設定することでページごとの JS を追加できます{{ define checkoutJS }}https://path.to/extra.js {{ end }}

renderTemplate(w, "template_name.tmpl", data)HTTP ハンドラーで、data入力したいものを含む文字列または構造体を含む map[string]interface{} はどこにあると言えるようにしたいと考えています。

これまでのコードは次のとおりです。

base.tmpl

create_listing.tmpl

login_form.tmpl

main.go

これはコンパイルされますが、ハンドラーから空の応答が返されます。2 番目のハンドラーのルートがないことに注意してください。このコードはrenderTemplate()、ハンドラーからどのように呼び出したいかを示すためのものです。

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

go - 複数のサイト用の Go HTML テンプレート

共通の管理パネル (単純化するためにテーマが異なるページ) を持ついくつかの異なるサイトに対応するアプリケーションを準備しています。

これらの「テーマ」にはそれぞれ異なるニーズがあります。たとえば、それらはすべてサービスのリストを表示しますが、一部のサービスには関連する画像も表示されます。そうでない人のために、それらをフェッチするためのDB呼び出しを避けたいと思います(ページをレンダリングするための異なるロジック)。

Laravel (PHP フレームワーク) では、これはビュー コンポーザーにとって完璧な使い方です。

そのようなシステムの設計はどのようなものになるでしょうか?

特定のテンプレートのデータをフェッチして追加する関数を実行するために各テーマを登録できる、ある種の「フック」を考えていました。それを行うためのより良い方法はありますか?

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

templates - go htmlテンプレートでループを作成する最良の方法は何ですか?

html/templateGo パッケージ経由で投稿を表示するための html テンプレートを作成しようとしています。また、ページごとに 5 つの投稿を表示するために、自分のページにページネーションを作成したいと考えています。

そこで、投稿リポジトリから投稿数を取得し、それをページあたりの投稿数の値で割り、丸めます (ceil)。これは、現在利用可能な投稿のあるページの総数です。

ページの総数を html テンプレートに渡します。さて、私のhtmlテンプレートでは、ページボタンを1から合計数まで表示する必要があります。

パッケージには、パイプラインの操作方法に関するすばらしいドキュメントがありtext/htmlますが、単純なループを作成する例は見つかりませんでした。

私は解決策を得ましたが、それが良いものかどうかはわかりません。総ページ数だけでなく、利用可能なページの配列をテンプレートに渡すことができるので、私のテンプレートでは次のようなことができます:

しかし、ページの配列を渡すよりも良い方法があるのではないでしょうか? カスタム関数をテンプレートに渡す可能性についても知っています。それは解決策になるでしょうか?

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

html - golang での HTML テンプレートの使用

初心者で申し訳ありませんが、golang.docs を読みましたが、よくわかりませんでした。私は:index.html:

main.go で、ユーザーが保存ボタンをクリックし、チェックボックスをオンにして、そのページをリダイレクトし、チェックボックスをオンにします

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

sql-server - GO でサーバーに再バインドする方法

Web ページにデータを表示する Go Web アプリを作成しています。データベースは Microsoft SQL Server 2008 にあります。プログラムを実行すると、ポート 8080 で ListenAndServe を使用して WebHandler() 関数へのメイン関数で URL が適切に処理されますが、SQL データベースに接続するとすぐに、Web サーバー接続失われます。WebHandler() は sql データベースに接続し、構造体の値に sql の結果を入力し、構造体を html/template にロードして、それに応じてテーブルに入力します。
SQL の結果を取得するために github.com/LukeMauldin/lodbc" および "github.com/jmoiron/sqlx" パッケージを使用していますが、問題なく表示されます。WebHandler 関数で Web サービスを再確立するにはどうすればよいですか?

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

go - mgo は、HTML テンプレートで bson.objectId を string(hex) に変換します

この問題がこれと重複している可能性があることはわかっています。しかし、今のところ満足のいく答えは得られていません。そして、できるだけ早く解決策を得るために注意を向けたいと思っています。したがって、解決策がなく、前の問題で回答がない限り、この問題を閉じないでください:-)

納得させるために問題を説明します。

知られているように、mongodb に格納されたデータ構造があります_id。mongodb はbson.ObjectId型であり、次のような方法で取得できます。

次にData、特定のクエリ条件で検索してスライスを取得し、そのスライスを使用しhttp/templateてフロントエンド ビューをレンダリングします。Idスライス内のすべてのアイテムを操作するために、フィールドを使用したいのですが、それを使用する場合:

That Only のような文字列のようなものを提供しObjectIdHex("550146d1b51bc1c208d1924d")ます550146d1b51bc1c208d1924d

重複号で。op はId_String、元のデータ構造に「 を追加する」ことでこれを解決する方法を見つけたと述べています。しかし、私はこれを行う方法が本当にわかりませんか?取得後に割り当てるということですか?取得したデータを保存するためにスライスを使用しているため、スライス内のデータは簡単に変更できませんでした。jqueryを使用してフロントエンドで仕事をするよりも、それを行う方が複雑になります。しかし、それを行うと、愛するGoで私を憂鬱にさせるだけです:-(。

それを行うためのより良い方法はありますか?

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

go - 閉じられていないhtmlタグにより、htmlテンプレートがgoでレンダリングされないのはなぜですか?

私は非常に厄介な問題に遭遇しました。問題の原因を突き止めるのに約 1 時間かかりましたが、理由はわかりません。

私はhtml/templateWeb ページのレンダリングに使用していますが、コードは次のようになります。

しかし、無意識のうちに、<textarea>タグを開いたままにするミスを犯しました。

そして、Go は例外やその他のヒントを提供しませんが、何もない空白のページを提供するだけで、ステータス コードは200です。

情報が提供されなかったので、問題の特定に効果がありましたが、なぜそれが起こるのでしょうか? colsed されていないタグがどうしてそのような問題を引き起こすのでしょうか? そして、それをデバッグする方法は?