我在 Django 中有一个名为 Account 的模型class Account(AbstractBaseUser): email = models.EmailField(verbose_name="email", max_length=60, unique=True)我正在尝试将电子邮件打印为 views.py 中的字符串。def fill_view(request): # ... authentication ... email = Account.objects.filter(email=user.email).first() # ... setting up forms .... can.drawString(10, 100, email)我收到以下错误: Exception Type: AttributeError at /fill/ Exception Value: 'Account' object has no attribute 'decode'将数据从models.py传输到views.py时,如何将电子邮件解码为Django中的字符串?我发现Reddit 上的这个帖子很有帮助,它让我相信这可能是 mySQL 的问题。
2 回答
茅侃侃
TA贡献1842条经验 获得超22个赞
您对 MySQL 没有问题,您只是没有从 Account 对象访问电子邮件
account = Account.objects.filter(email=user.email).first()
can.drawString(10, 100, account.email)
慕雪6442864
TA贡献1812条经验 获得超5个赞
使用@property
@property
def email_text(self):
return mark_safe(u"%s") % (escape(self.email))
然后,您可以在任何保存在email. 所以你只需要做can.drawString(10, 100, email.email_text())
mark_safe 来自 django.utils.safestring,见这里
添加回答
举报
0/150
提交
取消
