![](/img/trans.png)
[英]how to display questions to user and compare them using "if" "else" statements expert system django?
[英]if there are instances of method that user created display them else display a string Django
代码:
视图.py:
@login_required(login_url='loginPage')
def boardPage(request):
if Board.objects.filter(user=request.user).exists():
boards = get_list_or_404(Board, user=request.user)
context = {'boards': boards}
return render(request, 'tasks/boards.html', context)
else:
context = {'boards': False}
return render(request, 'tasks/boards.html', context)
板。html:
{% extends 'tasks/main.html' %}
{% block content %}
<center>board page<hr>
<a href="{% url 'boardAdd' %}">add board</a> <br><br>
your boards: <br> <br>
{% if boards is false %}
<p>you don't have any boards... Have you tried creating one? ;)</p>
{% else %}
{% for board in boards %}
<a href="{% url 'insideBoard' board.id %}">{{board}}<br></a>
{% endfor %}
{% endif %}
<br>
<br>
<hr>
<a href="{% url 'logoutPage' %}">Logout</a>
</center>
{% if messages %}
{% for message in messages %}
<u><br>{% if message.tags %} {% endif %}>{{ message }}</u>
{% endfor %}
{% endif %}
{% endblock %}
模型.py:
class Board(models.Model):
title = models.CharField(max_length=50, null=True)
user = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
def __str__(self):
return self.title
class Task(models.Model):
title = models.CharField(max_length=200, null=True)
done = models.BooleanField(default=False, null=True)
created_at = models.DateTimeField(auto_now_add=True, null=True)
user = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
board = models.ForeignKey(Board, null=True, on_delete=models.CASCADE)
due_to = models.DateField(null=True, validators=[dateValidation])
def __str__(self):
return self.title
每次用户删除他/她的所有板或新用户访问该页面时(新用户还没有任何板,他们可以在那里创建一个)我得到“TypeError at / 'bool' object is not iterable” 如何我是否需要更改代码以在该页面上查看字符串而不是 class 的实例?
您不需要添加新变量,只需检查数组是否为空。 当您尝试在模板中迭代Boolean
时遇到错误( {'boards': False}
)
@login_required(login_url='loginPage')
def boardPage(request):
boards = Board.objects.filter(user=request.user)
context = {'boards': boards}
return render(request, 'tasks/boards.html', context)
{% extends 'tasks/main.html' %}
{% block content %}
<center>board page<hr>
<a href="{% url 'boardAdd' %}">add board</a> <br><br>
your boards: <br> <br>
{% if not boards %}
<p>you don't have any boards... Have you tried creating one? ;)</p>
{% else %}
{% for board in boards %}
<a href="{% url 'insideBoard' board.id %}">{{board}}<br></a>
{% endfor %}
{% endif %}
<br>
<br>
<hr>
<a href="{% url 'logoutPage' %}">Logout</a>
</center>
{% if messages %}
{% for message in messages %}
<u><br>{% if message.tags %} {% endif %}>{{ message }}</u>
{% endfor %}
{% endif %}
{% endblock %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.