Django试图将用户的电子邮件拆分为在模板中显示

时间:2016-07-22 16:08:27

标签: python django

我正在尝试将用户的电子邮件拆分为域,并将其显示在前端。我正在使用Django的用户模型。

models.py

class UserDomain(models.Model):
    user = models.ForeignKey(User)

    def splitEmailToDomain(self):
        return self.user.email.split('@')[1].lower()

的index.html

<input type="text" value="{{UserDomain.splitEmailToDomain}}">

世界上我做错了什么?

2 个答案:

答案 0 :(得分:0)

您可能需要将其定义为属性,并将join应用于空字符串:

class UserDomain(models.Model):
    @property
    def splitEmailToDomain(self):
        return ''.join(self.user.email.split('@')[1]).lower()

答案 1 :(得分:0)

假设你的班级看起来像

class UserDomain(models.Model):
    user = models.ForeignKey(User,...)

您的User班级有一个email字段。

然后你的方法需要更像这样:

   ...
    def email_domain(self):
        return self.user.email.split('@')[1].lower()

然后在你的模板中你可以说

{{object.email_domain}}