首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我的HTML中的jinja条件不起作用

如果我的HTML中的jinja条件不起作用
EN

Stack Overflow用户
提问于 2019-02-18 13:36:53
回答 1查看 93关注 0票数 0

在我的html中有一个复选框。我注册并勾选了复选框。我可以从管理面板中看到复选框为真。但是我HTML中的“if”状态不起作用。当复选框条件为True时,它应该只显示我的数据库中的一个项,否则它应该显示几个项。

我试图在我的views.py中编写另一个if条件,但我的代码仍然无法工作。

我的views.py

代码语言:javascript
运行
复制
def address(request, pk):
    user = User.objects.all()
    city = Post.objects.get(id=pk).city
    address = Post.objects.filter(city=city)
    email = Post.objects.all()

    context = {
        'user': user,
        'address': address,
        'city': city,
    }

    return render(request, 'users/address.html', context)

我的models.py:

代码语言:javascript
运行
复制
class User(AbstractUser):
    first_name = models.CharField(verbose_name="First name", max_length=255)
    last_name = models.CharField(verbose_name="First name", max_length=255)
    country = models.CharField(verbose_name="Country name", max_length=255)
    city = models.CharField(verbose_name="City name", max_length=255)
    email = models.EmailField(verbose_name="Email", max_length=255)
    access_challenge = models.BooleanField(default=False)

    def __str__(self):
        return self.username

class Post(models.Model):
    title = models.CharField(max_length=255)
    country = models.CharField(max_length=255)
    city = models.CharField(max_length=255)
    address = models.CharField(max_length=255)
    email = models.EmailField(max_length=255)
    phone = models.CharField(max_length=255)
    website = models.URLField(max_length=255)
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('users:blog')

我的html:

代码语言:javascript
运行
复制
{% extends 'shared/base.html' %}
{% load staticfiles %}

{% block content %}

<div class="content-section p-5 mt-5 pl-4">
<h1 class="text-center text-uppercase">{{ city }}</h1>

{% for store in address %}

    {% if user.access_challenge %}


   {{ store.email }}


   {% else %}

<table class="table table-hover text-left col-sm-12 mt-4" style="table-layout: fixed; word-wrap: break-word;">
       <tbody>
         <tr>
           <th style="width: 100px;"> No: </th>
           <td> {{store.pk}}</td>
         </tr>
         <tr>
           <th style="width: 100px;"> Name: </th>
           <td> {{store.title}}</td>
         </tr>

        <tr>
          <th style="width: 100px;"> Address: </th>
          <td> {{store.address}}</td>
        </tr>
        <tr>
          <th style="width: 100px;"> Email: </th>
          <td> {{store.email}}</td>
        </tr>
        <tr>
          <th style="width: 100px;"> Phone: </th>
          <td> {{store.phone}}</td>
        </tr>
        <tr>
          <th style="width: 100px;">Website: </th>
          <td> {{store.website}}</td>
        </tr>
      {% endif %}

    </tbody>
</table>


{% endfor %}
{% endblock %}

</div>

如果用户选中“访问挑战区域”复选框,我只想显示他的电子邮件地址,并隐藏他的城市名称和地址。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 13:40:15

尝尝这个

代码语言:javascript
运行
复制
{% for store in address %}

{% if store.author.access_challenge %}
   # rest code

当您在这里使用用户外键时,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54748546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档