【问题标题】:django-rest-auth encoding email/usernamedjango-rest-auth 编码电子邮件/用户名
【发布时间】:2018-03-05 20:38:16
【问题描述】:

我遇到了更新 django-rest-auth 库中的扩展用户配置文件的问题 (这里是图书馆http://django-rest-auth.readthedocs.io/en/latest/introduction.html

我用 UserProfile 扩展了用户:

    class UserProfile(models.Model):
       user = models.OneToOneField(User, primary_key=True, 
              on_delete=models.CASCADE, related_name='userprofile') 
       platformLanguage = models.TextField(null=True)
       mentorApprovalRequest = models.BooleanField(default=False)
       approvedAsMentor = models.BooleanField(default=False)
       fullName = models.TextField(null=True)
       dateOfBirth = models.DateField(null=True)
       placeOfBirth = models.TextField(null=True)
       bio = models.TextField(null=True)

基本上我正在创建由(用户名、电子邮件、密码)组成的初始用户,请参见附图:Registration of User

然后我正在尝试更新 userProfile 的信息,请参阅更新图片:Userprofile Update

我们开始了,当我尝试更新时,它显示“未找到”,但用户已注册。然后当我查看电子邮件解码而不是 admin@gmail.com 时,我有错误的电子邮件解码 admin%40gmail.com,我想这可能是我无法更新用户配置文件详细信息的问题。

【问题讨论】:

  • 能否请您出示带有 /userprofiles/ 路径的 urls.py 文件?
  • 我会仔细检查 URL 是否定义正确。如果 ID,您是否覆盖它以使用 slug 代替?尝试访问/userprofiles/admin%40gmail.com/ 看看它是否返回任何内容
  • @MaximKukhtenkov 在这里,urls.py:imgur.com/a/7Wb4i
  • 如果您分享您的代码或 GitHub 个人资料会很好,这对我有很大帮助

标签: python django-rest-framework django-rest-auth


【解决方案1】:

根据提供的 urls.py,问题似乎出在 URL 中,信息发送到该 URL:默认情况下,视图集将使用 pk 参数形成 URL,这是增量 Django 数据库 ID,因此 URL 可能会看起来像/userprofiles/<pk>/,其中pk 是数字用户或用户配置文件ID(取决于用于视图集的模型)而不是电子邮件。

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 2017-02-20
    • 2018-05-24
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2016-08-22
    • 2020-01-09
    相关资源
    最近更新 更多