代码之家  ›  专栏  ›  技术社区  ›  Davtho1983

Django开关标志开启按钮

  •  0
  • Davtho1983  · 技术社区  · 8 年前

    {% if hidden==False %}
    <a class="btn btn-primary" href="{% url 'hide' %}" data-toggle="tooltip" data-placement="top" title="Hide Completed Tasks"><i class="fas fa-eye-slash"></i></a>
    {% else %}
    <a class="btn btn-primary" href="{% url 'home' %}" data-toggle="tooltip" data-placement="top" title="Hide Completed Tasks"><i class="fas fa-eye"></i></a>
    {% endif %}
    

    1 回复  |  直到 8 年前
        1
  •  0
  •   Davtho1983    8 年前

    无需使其过于复杂:

      <div class="col-3">
          {% if flag %}
              <a class="btn btn-primary" href="{% url 'home' %}" data-toggle="tooltip" data-placement="top" title="Hide Completed Tasks"><i class="fas fa-eye"></i></a>
          {% else %}
              <a class="btn btn-primary" href="{% url 'hide' %}" data-toggle="tooltip" data-placement="top" title="Hide Completed Tasks"><i class="fas fa-eye-slash"></i></a>
          {% endif %}
      </div>
    

    现在在视图函数中放入一个变量,并将var添加到呈现的字典中:

    def home(request):
        tasks = Task.objects
        flag = False
        return render(request, 'home/home.html', {'tasks': Task.objects.all().order_by('-pub_date'), 'flag':flag})
    
    def hide(request):
        tasks = Task.objects
        flag = True
        return render(request, 'home/home.html', {'tasks': Task.objects.all().order_by('-pub_date').filter(completed=False), 'flag':flag})