3

我正在使用*.htmlGoogle App Engine 中的基本文件。

如何输入不会产生 html 评论的评论?例如在 Rails我会做<%# comment %>

另外,我如何检测它是一个开发环境(或检查 url 是否为 localhost),因此只触发某个 html 块?例如在 Rails 中我会这样做:

<% if Rails.env.development? %>
    <p>comment visible only in localhost!</p>
<% end %>

谢谢!

4

2 回答 2

3

至于评论,您可以使用与上面类似的语法:

{# some comment here #}
{{ variable }}
{% for some item in another_variable %}
    <p>{{ item }}</p>
{% endfor %}

关于主机名部分,我不知道有任何内置模板可以处理这个问题。我建议在您的服务器端代码中进行此检查并将结果传递给模板。是一个应该完成您需要的问题/答案。从该答案中窃取代码,您可以在代码中定义一个变量,例如(使用 Python,因为我不确定您使用的是哪个运行时):

dev_server = os.environ['SERVER_SOFTWARE'].startswith('Development')

然后,您可以在模板中引用它(假设您将变量传递给模板dev_server),如下所示:

{% if dev_server %}
    <p>comment visible only in localhost!</p>
{% endif %}
于 2013-01-10T01:25:55.350 回答
1

如果您想在 App Engine 上使用 Java 编写条件代码,您可以将您的 html 编写为 JSP 文件。然后您可以使用条件块,并在最终输出中显示未显示的注释,例如,

  <%-- This comment will get removed by the JSP compiler --%>
  <!-- This is a regular html comment and will survive the JSP compiler untouched -->
  <p>Just some ordinary html in a JSP file here...</p>
  <h1>Hello StackOverflow!</h1>
<% if ( isSayGoodbye ) { %>
      <h3>Goodbye!</h3>
<% } %>

至于测试您是否在 AppEngine 与开发环境中,请查看来自 Google 的这些 (Java) 文档:https ://developers.google.com/appengine/docs/java/runtime#The_Environment

if (SystemProperty.environment.value() ==
    SystemProperty.Environment.Value.Production) {
    // The app is running on App Engine...
}
于 2013-01-10T04:29:30.620 回答