[英]Decoding User Data to String in Django
我在 Django 中有一个 model 名为 Account
class Account(AbstractBaseUser):
email = models.EmailField(verbose_name="email", max_length=60, unique=True)
我正在尝试将 email 打印为 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时,如何将email解码为Django中的字符串?
我发现 Reddit 上的这个帖子很有帮助,它让我相信这可能是 mySQL 的问题。
使用@property
@property
def email_text(self):
return mark_safe(u"%s") % (escape(self.email))
然后,您可以在保存在email
中的任何 email object 上调用它。 所以你只需要做can.drawString(10, 100, email.email_text())
mark_safe 来自 django.utils.safestring,请参见此处
您对 MySQL 没有问题,您根本没有从账户 object 访问 email
account = Account.objects.filter(email=user.email).first()
can.drawString(10, 100, account.email)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.