Django无法在模板内使用筛选器标记

2024-04-25 13:30:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有django也就是服务于api以及静态文件,包括html文件,在我使用的html中

你知道吗索引.html你知道吗

<div class="container">
    <div class="row">
         <div class="col-sm-8 blog-main">
             <div ng-view></div>
         </div>
    </div>
</div>

你知道吗应用程序.js你知道吗

sampleApp.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
        when('/', {
            templateUrl: '/static/views/home.html',
            controller: 'index_ctrl'
        })
    }
]);

你知道吗主页.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">&nbsp{{ x.pub_date|date  }}</i> </p>
    {{ x.description|limitTo:'50'}}
    <p><a href="">See more</a></p>
    <hr />
</div>

我发现角度过滤器不限制我的文本,而是输出所有的文本…还有什么其他选择?你知道吗

我还尝试使用django filter标记{{ x.description|truncatewords:'50'}},但是抛出了错误Error: Unknown provider: truncatewordsFilterProvider <- truncatewordsFilter

在此方面的任何帮助都是非常感谢的…提前谢谢


Tags: 文件django文本divdatetitlehtmlblog
2条回答

一旦呈现HTML,就不能调用任何Django templatetag/filter,只有在刷新再次调用的页面时,才会处理对Django及其筛选器的任何请求。你知道吗

如果您使用的是大括号{并且需要避免使用Django,那么您需要使用{%templatetag openvariable%}和右大括号}{%templatetag closevariable%}。你知道吗

当然,'truncatewords'过滤器不起作用,因为它是一个Django过滤器,而不是角度过滤器。

如果将angularjs与django模板语言一起使用,则它们的模板标记会发生冲突。 您将在下面的链接中找到解决方案 AngularJS with Django - Conflicting template tags

相关问题 更多 >