django 应用基于条件的样式类

Posted

技术标签:

【中文标题】django 应用基于条件的样式类【英文标题】:django applying a style class based on a conditional 【发布时间】:2013-01-02 23:30:43 【问题描述】:

我正在显示图像列表。 如果用户上传了一张图片,我想保持它的不透明度 0.5 并且在图片列表中,其他人上传的图片应该是完全不透明度的。 我做了如下,有没有更好的方法呢??

% if request.user == obj.shared_by %
       <div class="item-image" style="opacity:0.5;filter:alpha(opacity=50);"> 
          % else  %
          <div class="item-image"> 
          % endif %
        ......Some code here....
       </div>

谢谢!

【问题讨论】:

【参考方案1】:

我通常会选择:

<div class="item-image% if foo % own-image% endif %">...</div>

但换掉整个 div 标签可能更具可读性。

无论哪种方式,我都会使用另一个类进行样式设置,而不是使用内联 css。

【讨论】:

为什么我不能这样做&lt;div class="item-image% for foo in foos % % if foo % own-image% endif % % endfor %"&gt;...&lt;/div&gt; 为什么我不能在元素属性中使用 for 循环? 这应该是一个新问题,但应该可以。模板语言不知道也不关心周围 html 的语义【参考方案2】:

我已经通过这种方式在 if 条件下添加了类....

&lt;li class="nav-item % if app_url == '/' % active% endif %"&gt;

【讨论】:

以上是关于django 应用基于条件的样式类的主要内容,如果未能解决你的问题,请参考以下文章

django-基于类的视图

使用基于类的视图和 ajax 的 Django 应用程序?

在 Django 项目中为可重用应用程序创建基于类的 Celery 任务

Django基本视图

基于类的视图的 Django 装饰器属性错误

django多条件筛选搜索(项目实例)