【问题标题】:Using django filter and tags with angular expressions使用带有角度表达式的 django 过滤器和标签
【发布时间】:2016-10-24 04:11:37
【问题描述】:
<img style="width: 40px; height: 39px" class="img-responsive" src="/static{{user.avatar|cut:"abc/static" }}" alt="{{ user.first_name }}">

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

由于在上面的代码中使用了剪切过滤器,我也需要在下面的代码中使用它,但是在这里我从 angular 接收数据并且不能将 django“cut”与它结合起来:

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

是否可以结合angular使用这样的django过滤器或标签?

【问题讨论】:

  • 这两个对我来说都不是特别合适...你想这样做{% static user.avatar %}吗?
  • @Simer,您能否更清楚地了解您想要实现的目标。您的问题非常开放:您是在尝试使用 Angular 和 Django 的组合,还是尝试用 Angular 功能替换 Django 功能。如果是这样,您追求的具体功能是什么?理想情况下,您可以先尝试一下,然后向我们展示您想要实现的目标中哪些地方不起作用。
  • 嗨@raphv 我已经更新了我的问题。如果您能提供一些建议,那就太好了。

标签: javascript python angularjs django django-templates


【解决方案1】:

[...] 但在这里我从 angular 接收数据并且无法将 django “cut”与它结合起来

是否可以结合使用这样的django过滤器或标签?

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

如果要在浏览器上加载数据时执行此操作,那么您将需要一个 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');
  };
})

【讨论】:

  • 嗨@bakkal 非常感谢您的回复。请让我执行相同的操作来检查结果。
猜你喜欢
  • 1970-01-01
  • 2014-11-06
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 2019-07-26
相关资源
最近更新 更多