使用django过滤器和带有角度表达式的标签

时间:2016-06-22 09:44:37

标签: javascript python angularjs django django-templates

<img style="width: 40px; height: 39px" class="img-responsive" src="/static{{user.avatar|cut:"abc/static" }}" alt="{{ user.first_name }}">

&#34; cut&#34;的要求上面代码中的过滤器是因为我得到了&#34; abc / static / abc / uploads / profileimages / images_3.jpg&#34;在用户头像(来自django视图),我想更改为&#34; /static/abc/uploads/profileimages/images_3.jpg"因此使用了这个 - /static{{user.avatar|cut:"abc/static" }}

由于在上面的代码中使用了剪切滤镜,我也需要在下面的代码中使用它,但是这里我从角度接收数据并且不能组合django&#34; cut&#34;用它:

<img ng-if="notif ==1 " class="user-img" src="/static{$ notif.about_user_image $}" alt="{$ notif.firstname $}">

是否可以结合角度使用这种django过滤器或标签?

1 个答案:

答案 0 :(得分:1)

  

[...]但是在这里我从角度接收数据并且不能将django“cut”与它结合起来

     

是否可以结合角度使用这种django过滤器或标签?

如果你想将一个值从AngularJS传递给一个不可能的Django过滤器,那么在AngularJS甚至可以在浏览器上执行之前,Django过滤器就会在服务器端运行。

如果要在浏览器上加载数据时执行此操作,那么您需要一个AngularJS filter,下面我假设默认{{令牌,请使用您的自定义{$令牌如果你想:

<img ng-src="{{ notif.about_user_image | processImageUrl }}" />

请注意ng-src而不是src

然后定义一个过滤器,例如

app.filter('processImageUrl', function() {
  return function(url) {
    return url.replace('abc/static/abc', '/static/mbp');
  };
})