问题 结合Django模板和聚合物


在过去的几个小时里,我一直在努力弄清楚为什么核心的Polymer元素没有在Django应用程序中正确显示,而我正在将其用作个人网页。该 应用 目前只是指向一个index.html页面,如果你按照 教程 在Polymer上,是第一步。

但是,组件未加载到我的页面上。静态文件都设置正确,并且正确加载的css文件中有微妙的动画,但没有显示Roboto字体和核心元素。将站点作为普通HTML文件运行可以正确完成所有操作。

在Django模板中有用户Polymer的特定方法吗?

谢谢。


3709
2018-06-27 10:07


起源



答案:


请参阅Polymer-dev邮件列表中Eric对此的回答: https://groups.google.com/forum/?fromgroups=#!searchin/polymer-dev/django/polymer-dev/N2R8qknalOI/58ZhC1gWFh4J

相关摘录:

Django 1.5支持逐字标记。您可以将内联元素定义包装在: https://docs.djangoproject.com/en/1.5/ref/templates/builtins/#verbatim

示例代码段:

{% verbatim %}
<template repeat="{{item as items}}">
  <my-element name="{{item.name}}"></my-element>
</template>
{% endverbatim %}

<script>
  document.querySelector("template').model = {{items}}; // items here is filled by the server's template.
</script>

13
2017-07-03 21:52



这很有效。还有一点是为页面正确设置CSS。我完全犯了错误,但很高兴确认Verbatim是必需的。 - Andrew McManus


答案:


请参阅Polymer-dev邮件列表中Eric对此的回答: https://groups.google.com/forum/?fromgroups=#!searchin/polymer-dev/django/polymer-dev/N2R8qknalOI/58ZhC1gWFh4J

相关摘录:

Django 1.5支持逐字标记。您可以将内联元素定义包装在: https://docs.djangoproject.com/en/1.5/ref/templates/builtins/#verbatim

示例代码段:

{% verbatim %}
<template repeat="{{item as items}}">
  <my-element name="{{item.name}}"></my-element>
</template>
{% endverbatim %}

<script>
  document.querySelector("template').model = {{items}}; // items here is filled by the server's template.
</script>

13
2017-07-03 21:52



这很有效。还有一点是为页面正确设置CSS。我完全犯了错误,但很高兴确认Verbatim是必需的。 - Andrew McManus


我很确定这与Django使用相同的事实有关 {{}} 在其模板中作为Polymer。


3
2018-06-27 20:21



您可能需要单独提供组件,因此Django不会替换所有的Polymer元素 {{}}。那是什么 这个 好像值得推荐。 - CletusW
我不知道Django,但也许有办法告诉Django不要解析任何问题 .html 你的文件 components 目录。 - CletusW
我过去通过使用一个来解决这个问题 include_raw 标签。这告诉Django不要解释那段代码 github.com/GoogleChrome/chromium-dashboard/blob/master/... - ebidel
它似乎是模板加载器呈现“{{}}”使元素失败。但是,尝试在聚合物调用的文件中手动包装“{{}}”实例周围的“{%verbatim%}”标记不会正确显示内容。元素调用其中包含更多“{{}}”的其他html文件也不方便。 @ebidel - 从静态内容调用文件时如何实现此模板标记?看起来是一种方法,但不确定如何使用此标签。 - Andrew McManus
如果文件是真正的静态文件,则djnago的模板引擎不会处理它们。不应该是一个问题。也许我误解了你的设置。 - ebidel


我将这个答案添加为对已经接受的答案的赞美。

你可以强制django为它的模板标签需要一个空间。因此,对于您必须使用的任何django模板标签 {{ variable }} 对于您将使用的聚合物 {{variable}}

这是一个非常简单的模块/应用程序,我创建“准备”django与聚合物一起使用。

https://github.com/andrewebdev/django-ostinato/blob/dev/ostinato/polyprep/在里面的.py

信用去 https://github.com/nebrybledu 对于这个建议。


0
2018-05-20 10:07