我有 django 服务api 以及包含 html文件的静态文件,在html中我正在使用angular
的index.html
<div class="container">
<div class="row">
<div class="col-sm-8 blog-main">
<div ng-view></div>
</div>
</div>
</div>
app.js
sampleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: '/static/views/home.html',
controller: 'index_ctrl'
})
}
]);
home.html的
<div class="blog-post" ng-repeat="x in data">
<p class="blog-post-title"><a href="">{{ x.title }}</a></p>
<p class="blog-post-meta"><i class="fa fa-clock-o"> {{ x.pub_date|date }}</i> </p>
{{ x.description|limitTo:'50'}}
<p><a href="">See more</a></p>
<hr />
</div>
我发现角度过滤器不限制我的文字,而是输出所有文字....什么可以替代选项?
我还尝试使用django过滤器代码{{ x.description|truncatewords:'50'}}
,但角度错误Error: Unknown provider: truncatewordsFilterProvider <- truncatewordsFilter
对此有任何帮助表示赞赏....提前致谢
答案 0 :(得分:0)
如果您使用带有django模板语言的angularjs,则它们的模板标签会发生冲突。 您将在下面的链接中找到解决方案 AngularJS with Django - Conflicting template tags
答案 1 :(得分:0)
在呈现HTML时,无法访问任何调用任何Django模板标签/过滤器,只有当您刷新再次调用的页面时,才会处理对Django及其过滤器的任何请求。
如果您使用的是开放式大括号 {{并且需要避免Django使用它,则需要使用 {%templatetag openvariable%} 并关闭大括号<强>}} {%templatetag closevariable%} 代替。
当然'truncatewords'过滤器无法正常工作,因为 它是一个Django过滤器,而不是Angular。