#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 %}