为什么django模板中只有一些上下文数据可用



我在访问django模板中的一些上下文数据时遇到了问题,可能是由于我的基本误解。请参阅下面的缩写代码。我的观点是:

class UserCourseListView(LoginRequiredMixin, generic.ListView):

model = CustomUser    
template_name = 'account/course/list.html'
context_object_name = 'puser_course_list'

def get_queryset(self):        
return CustomUser.objects.filter(username=self.request.user.username)

我的型号是:


class CustomUser(AbstractUser):
email = models.EmailField(max_length=254, blank=False,)
course = models.ManyToManyField(Course, related_name="course", blank=True)
firstname = models.TextField(max_length=254, blank=True )
surname = models.TextField(max_length=254, blank=True )
nickname = models.TextField(max_length=254, blank=True )

def __str__(self):
return str(self.id)
def get_absolute_url(self):
return reverse('patient_user_detail', args=[str(self.id)])

模板是:

{% for pcourse in puser_course_list %}    

<dt>{{ pcourse.courses_joined.all }}</dt> # displayed in browser
<dt>{{ pcourse.id }}</dt> # displayed in browser
<dt>{{ pcourse.username }}</dt> # displayed in browser
<dt>{{ pcourse.email }}</dt> # displayed in browser
<dt>{{ pcourse.firstname }}</dt> # not displayed in browser
<dt>{{ pcourse.surname }}</dt> # not displayed in browser
{% endfor %}

我可以访问用户id、用户名、电子邮件,并从相关模型中检索查询集(使用相关名称"courses_joined"(,但无法检索名字和姓氏?任何想法或帮助都将不胜感激。我假设在这个场景中不需要上下文处理器,因为所有数据都应该在context_object中?

我们在一个会话中一起调试了它。

问题是firstnamesurname实际上是空的。没有空的是该模型从AbstractUser继承的first_namelast_name

从模型中删除firstnamesurname并使用其他两个属性解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新