回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我是python和django新手,我需要一些帮助</p>
<p>我想做的是,只有当用户是负责人或相关“任务”的作者时,才显示特定的“任务”</p>
<p>我试图用html模板中的if语句来实现这一点:</p>
<pre><code> {% for task in task_list %}
<h2>title - {{task.title}}</h2>
{% endfor %}
{% endif %}
</code></pre>
<p>但没有返回我期望的结果,因为:</p>
<pre><code> {% for task in task_list %}
<h2>author --- {{task.author}}</h2>
<h2>responsable --- {{task.responsable}}</h2>
{% endfor %}
</code></pre>
<p>返回相同的用户。。。我认为问题在于,当我引用user.username时,它会进入数据库并返回一个查询,当我引用user{{task.blabla}}时,它是一个字符串,我是对的?我怎样才能解决这个问题</p>
<p>models.py:</p>
<pre><code> title = models.CharField(max_length=50)
content = models.TextField(blank=True)
date_created = models.DateTimeField(auto_now_add=True)
due_date = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE, default=User)
responsable = models.ForeignKey(User, on_delete=models.CASCADE, related_name="author", default=User)
STATUS_CHOICES = [('D', 'Done'),('P','Doing'),('N','Not done')]
Status = models.CharField(max_length=1,choices=STATUS_CHOICES, default='N')
IMPORTANCE_CHOICES = [('H', 'High'),('M','Medium'),('L','Low')]
importance = models.CharField(max_length=1,choices=IMPORTANCE_CHOICES, default='M')
DEPARTAMENT_CHOICES = [('D', 'Dev'),('M','Marketing'),('H','Human Resources'),('L','Legal'),('F','Financial'),('O','Others')]
departament = models.CharField(max_length=1,choices=DEPARTAMENT_CHOICES, default='M')
def __str__(self):
return self.title
</code></pre>
<p>views.py</p>
<pre><code>def dashboard_taskapp(request):
task = Task.objects.all()
context = {
"task_list": task,
}
return render(request, "task_app/task_dashboard.html", context)
</code></pre>
<p>提前感谢并致以亲切的问候</p>