Краткая справка о том, как отформатировать логический оператор

#django #django-models

#django #django-модели

Вопрос:

это может показаться глупым, но мне нужна помощь, у меня есть модель, в которой, если «is_vendor» равно True, я хочу, чтобы он отображал что-то, а если «is_vendor» равно False, я не хочу, чтобы элемент отображался. Я уже понял, как переключить is_vendor с True на False или наоборот, теперь я хочу знать, как завершить {% if user_profile.is vendor... оператор (плюс я не уверен, что если я хочу, чтобы я набрал там, близко к правильному. Спасибо

Модель:

 class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.CharField(max_length=245, null=True)
image = models.ImageField(default='default.png', upload_to='profile_pics')
is_vendor = models.BooleanField(default=True)
  

Мой шаблон:

  **{% if user_profile.is_vendor** 
            <div style="margin-left: 40px">
                <a class="btn btn-sm btn-outline-primary mb-4 mr-3 "href="{% url 'vendor_register' %}">
                    Register
                </a>
            </div>
  

Комментарии:

1. {% if user.profile.is_vendor %} ... {% endif %} .

2. Спасибо. Я попробую это и свяжусь с вами. Большое спасибо

Ответ №1:

 {% if user_profile.isVendor %}
         <div style="margin-left: 40px">
                <a class="btn btn-sm btn-outline-primary mb-4 mr-3 "href="{% url 'vendor_register' %}">
                    Register
                </a>
            </div>
{% endif %}
  

Ответ №2:

{% if user_profile.isVendor %}

ваш код здесь

{%endif %}

Ответ №3:

Если пользователь вошел в систему, вы можете получить доступ к этому пользователю с {{ user }} помощью . Поскольку у вас есть OneToOneField доступ к Profile модели, вы, таким образом, можете получить доступ к Profile записи вошедшего в систему пользователя с {{ user.profile }} помощью и, таким образом, проверить, является ли это поставщиком с {{ user.profile.is_vendor }} , таким образом, мы можем обернуть это в {% if … %} … {% endif %} тег шаблона [Django-doc]:

 {% if user.profile.is_vendor %}
    …
{% endif %}