猿问

在 Django 中将用户数据解码为字符串

我在 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 的问题。


宝慕林4294392
浏览 141回答 2
2回答

茅侃侃

您对 MySQL 没有问题,您只是没有从 Account 对象访问电子邮件account = Account.objects.filter(email=user.email).first()can.drawString(10, 100, account.email)

慕雪6442864

使用@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,见这里
随时随地看视频慕课网APP

相关分类

Python
我要回答