使用 HTML if 语句得到 return 结果
Using HTML if statements to return results
我正在尝试打印用户已上传到其帐户的课程列表,但我无法确定如何执行此操作。我尝试打印 {{ course.student_course }} 和 {{user.username}} 并且它们似乎都打印相同的东西。但是当我在 if 语句中进行比较时,没有 returns.
这是 html 片段
<div class="container h-100">
<div class="row justify-content-center">
{% if courses_list %}
{% for course in courses_list %}
{% if course.student_course == user.username %}
<button type="button" class="btn btn-outline-primary">{{ subject }} </button>
<p>{{ subject }}</p>
{% endif %}
{% endfor %}
{% else %}
<p>No courses have been uploaded.</p>
{% endif %}
</div>
</div>
这是我尝试访问的模型字段。
class Course(models.Model):
subject = models.CharField(max_length=4)
course_number = models.CharField(max_length=4, default='')
course_name = models.CharField(max_length=100, default='')
course_section = models.CharField(max_length=3, default='')
student_course = models.OneToOneField(User, on_delete=models.CASCADE, default='')
def __str__(self):
return self.subject + " " + self.course_number
就像我说的,我尝试打印每个被比较的字段,它们都变成了同样的东西,但是当我尝试进行比较时,它 returns 什么都没有。
course.student_course
是一个用户实例
user.username
是User实例的用户名字符串
因此您想使用 {% if course.student_course == user %}
或 {% if course.student_course.username == user.username %}
我正在尝试打印用户已上传到其帐户的课程列表,但我无法确定如何执行此操作。我尝试打印 {{ course.student_course }} 和 {{user.username}} 并且它们似乎都打印相同的东西。但是当我在 if 语句中进行比较时,没有 returns.
这是 html 片段
<div class="container h-100">
<div class="row justify-content-center">
{% if courses_list %}
{% for course in courses_list %}
{% if course.student_course == user.username %}
<button type="button" class="btn btn-outline-primary">{{ subject }} </button>
<p>{{ subject }}</p>
{% endif %}
{% endfor %}
{% else %}
<p>No courses have been uploaded.</p>
{% endif %}
</div>
</div>
这是我尝试访问的模型字段。
class Course(models.Model):
subject = models.CharField(max_length=4)
course_number = models.CharField(max_length=4, default='')
course_name = models.CharField(max_length=100, default='')
course_section = models.CharField(max_length=3, default='')
student_course = models.OneToOneField(User, on_delete=models.CASCADE, default='')
def __str__(self):
return self.subject + " " + self.course_number
就像我说的,我尝试打印每个被比较的字段,它们都变成了同样的东西,但是当我尝试进行比较时,它 returns 什么都没有。
course.student_course
是一个用户实例
user.username
是User实例的用户名字符串
因此您想使用 {% if course.student_course == user %}
或 {% if course.student_course.username == user.username %}