web2py ビューで、サーバー側のコードをコメントアウトするにはどうすればよいですか? ASP.NET では、HTML またはコード タグを <%-- および --%> で囲むことができ、そのブロックはコンパイルされず、クライアントに送信されません。Velocity は #* と *# で同じことを行います。web2pyに同等のものはありますか?
ASP.NET
<div>
<p><%=foo.bar%></p>
<%-- don't print twice! <p><%=foo.bar%></p> --%>
</div>
web2py
<div>
<p>{{=foo.bar}}</p>
??? don't print twice! <p>{{=foo.bar}}</p> ???
</div>
編集: web2py コードタグを修正しました。
ブロックコメントの問題
{{'''...'''}} と {{"""..."""}} が内部のコード ブロックで使用されている場合、例外がスローされます。コードをほとんど変更せずに残す理想的ではない回避策は、コメントアウトされたコード ブロックから二重中かっこを削除することです。
HTML
{{'''{{somefunction(42)}}'''}}
エラー
Traceback (most recent call last):
File "gluon/restricted.py", line 176, in restricted
File "gluon/restricted.py", line 163, in compile2
File "C:\development\web2py\applications\SpaceCorps/views\default/index.html", line 74
'''{{somefunction(42)\nresponse.write("'''}}\r\n\t\t\r\n\t</div>\r\n</div>\n\t</body>\n</html>\n",escape=False)
^
SyntaxError: invalid syntax
生成されたビュー コード
'''{{somefunction(42)\nresponse.write("'''}}\r\n\t\t\r\n\t</div>\r\n</div>\n\t</body>\n</html>\n",escape=False)
単一行コメントの問題
{{#}} はコメントに成功しましたが、期待どおりに機能しません。ただし、これは修正するのがより難しい場合があり、簡単に回避できるはずです。次の HTML は、最終的な HTML に 2 つの終了ブラケットをレンダリングしますが、何もレンダリングすべきではないと思います。
HTML
{{#{{somefunction(42)}}}}