【问题标题】:Django-How do i get the HTML template to show data from the two models?Django-如何获取 HTML 模板以显示来自两个模型的数据?
【发布时间】:2020-07-17 12:35:23
【问题描述】:

所以我正在创建一个待办事项应用程序。如何让 html 视图显示任务?我试图显示任务的名称,但它是空白的。到目前为止,它只显示板名称和创建它的用户。 到目前为止,这是我的代码: Models.py

class Board(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
admin = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Board")
name = models.CharField(max_length=200)

class Task(models.Model):
    board = models.ForeignKey(Board, on_delete=models.CASCADE)
    admin = models.ForeignKey(User, on_delete=models.CASCADE)
    text = models.CharField(max_length=300)
    complete = models.BooleanField(default=False)
    assigned_to = models.CharField(max_length=30)

views.py

def board_post_detail(request, board_id):
obj = get_object_or_404(Board, id=board_id)
taskobj= Task.objects.filter(board=obj)
context = {"object": obj, "tasks": taskobj}
return render(request, 'boards/board_post_detail.html', context)

board_post_detail.html

{% block content %}
<h1>{{ object.name}}</h1>
<p> {{tasks.text}}<p>
<p>Created by {{object.admin.username  }}</p>
{% endblock %}

【问题讨论】:

  • 我刚刚意识到我需要使用 for 循环。哎呀!

标签: html django django-models django-views


【解决方案1】:

我意识到我需要使用 for 循环来遍历任务。

{% block content %}
<h1>{{ object.name}}</h>
    <ul>
        {%  for task in tasks %}
            <li>{{ task.text }} is assigned to {{ task.assigned_to }}</li>
        {% endfor %}
    </ul>
<p>Created by {{object.admin.username  }}</p>

{% 端块 %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 2020-08-09
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2013-02-17
    • 2017-05-21
    • 2017-09-07
    相关资源
    最近更新 更多