relatedObjectDoesNotExist at /admin/login/ 用户没有个人资料

2024-01-07

学习 django 并创建了一个新项目。 通过登录管理页面http://127.0.0.1:8000/admin http://127.0.0.1:8000/admin但是在为每个用户添加配置文件代码后,我收到以下错误

Error

用户/模型.py

from django.db import models
from django.contrib.auth.models import User
from PIL import Image

class Profile(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE)
    image=models.ImageField(default='default.jpg',upload_to='profile_pics')

    def __str__(self):
        return f'{self.user.username} Profile'

    def save(self):
        super().save()
        img=Image.open(self.image.path)
        if img.height>300 or img.width >300:
            output_size=(300,300)
            img.thumbnail(output_size)
            img.save(self.image.path)

用户/视图.py

from django.shortcuts import render,redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from .forms import UserRegisterForm,UserUpdateForm,ProfileUpdateForm

def register(request):
    if request.method=="POST":
        form=UserRegisterForm(request.POST)
        if form.is_valid():
            form.save() # it will save user in database
            #form.cleaned_data is dictionary it will contain the data from form
            username=form.cleaned_data.get('username')
            messages.success(request,f'Your account has been created!')
            return redirect('login')
    else:
        form=UserRegisterForm()

    # instance of UserCreationForm() class will create form in template as we are passing there
    return render(request,'users/register.html',{'form':form})

@login_required()
def profile(request):
    if request.method == "POST":
        u_form=UserUpdateForm(request.POST,instance=request.user)
        p_form=ProfileUpdateForm(request.POST,request.FILES,instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, f'Your account has been updated!')
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)
    context={
        'u_form':u_form,
        'p_form':p_form
    }
    return render(request,'users/profile.html',context)

用户/表单.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile
class UserRegisterForm(UserCreationForm):
    email=forms.EmailField()

    class Meta:
        model=User #model will affected will be User as after submitting form user table gonna affect. and below will fields in forms
        fields=['username','email','password1','password2']

class UserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    class Meta:
        model = User  # model will affected will be User as after submitting form user table gonna affect. and below will fields in forms
        fields = ['username', 'email']

class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model=Profile
        fields=['image']

用户/signals.py

from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver
from .models import Profile

@receiver(post_save,sender=User)
def create_profile(sender,instance,created,**kwargs):
    if created:
        Profile.objects.create(user=instance)


@receiver(post_save, sender=User)
def save_profile(sender, instance, created, **kwargs):
    instance.profile.save()

可能是管理员配置文件不可用并且未创建。有什么建议吗?


您需要先创建一个管理员配置文件。由于管理员没有个人资料,因此显示相关对象不存在。我遇到了类似的情况,我创建了一个管理员配置文件。有效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

relatedObjectDoesNotExist at /admin/login/ 用户没有个人资料 的相关文章

随机推荐

  • Hazelcast 客户端线程安全吗?

    我在 中找不到这个docs http hazelcast org docs 3 2 manual html single hazelcast documentation html java client or javadocs http h
  • 带有嵌入变量的现有字符串的 Scala 字符串插值器

    我可能缺少 Scala 字符串插值机制的一些基本内容 我想做的事 this could come from a config file string here to demo val brown BROWN val cow Moo val
  • Webkit 滚动条 CSS,始终是角落里的白框

    有没有办法避免自定义样式的 webkit 滚动条上出现默认的白框 仅当水平和垂直溢出时才会出现白框 使用谷歌浏览器 编辑 我尝试过设置body背景颜色不同 仍然只看到一个白色的盒子 Screenshot CSS webkit scrollb
  • JSON.NET 读取 JObject 时出错

    我通过 AJAX 和 Web Api 向我的服务器发送 JSON 对象 var data fdsfsd Kifdsfa fsdfsa fadsf fasdfsd fadsf fasdfsd 2008 5 11 12 13 2009 20 1
  • 无法在 GeoDjango 应用程序中同步数据库

    我在设置空间数据库并将其与 GeoDjango 同步时遇到了真正的麻烦 我能够根据 geodjango 文档设置空间数据库并创建一个 django 应用程序 但是当我运行时 python manage py sqlall world 我明白
  • 如何使用 RSpec 测试 ActionText?

    我正在尝试编写一个 RSpec 系统测试 其中涉及填写页面上的 ActionText Trix 字段 好像ActionText SystemTestHelper按照定义here https github com rails rails bl
  • C++中“保留状态”是什么意思?

    我在 MSDN 页面上阅读了此解释 了解 lambda 表达式相对于函子和函数指针的优点 保持状态 的能力是什么意思 它与通过引用或封闭范围内的值捕获某些变量的能力有关吗 http msdn microsoft com en us libr
  • 通过服务更新 wso2 ESB 中的本地条目

    有什么方法可以从 esb 服务更新本地条目 我必须在全局变量中存储一个令牌 并且需要在它过期时更新它 我想将其保留在本地条目中 看起来我无法从 ESB 服务 序列更新它
  • 未使用的 ES6 模块会影响性能吗?

    我知道未使用的 Java NET 导入不会影响性能 但我也知道的实现require 过去 只需在编译时拉取并连接整个所需的模块 文件 并且import声明是一种演变 实际上有什么不同吗 在导入列表中忘记一个非常大的未使用的 ES6 模块会影
  • 使用 devise_token_auth 和 active_model_serializers 解决多个用户模型的问题?

    多个用户模型 User Admin 和 Master 与 devise token auth 的组合在使用非 User 模型 Admin 和 Master 登录时无法成功设置响应标头 uid token 等 然而 用户模型是有效的 原因看起
  • Runtime.exec() :在 Android 中重新启动?

    我正在寻找一种可用于重新启动已取得 root 权限的设备的解决方案 我知道重新启动设备对于用户来说是非常糟糕的设计 如这里所述 https stackoverflow com questions 4030037 how to reboot
  • CUDA 主机和设备使用相同的 __constant__ 内存

    我有使用恒定内存的设备 主机功能 它在设备上运行正常 但在主机上似乎该内存仍未初始化 include
  • 从磁盘加载存储的 RSA 公钥/私钥?

    独立于私钥应该加密的事实 这与这个问题无关 我使用以下代码生成 RSA 密钥对 KeyPairGenerator kpg KeyPairGenerator getInstance RSA kpg initialize 2048 KeyPai
  • MVC 是否定义一个控制器应如何与另一个控制器通信?

    我指的是一般的 MVC 设计模式 如维基百科 http en wikipedia org wiki Model E2 80 93view E2 80 93controller 在进行 GUI 密集型应用程序时 我通常会拥有许多控制器 有时一
  • r 值参考铸造和临时物化

    以下代码的输出结果为 void doit const T1 const T2 T1 unsigned long T2 int t1 t2 t1 T1 t2 t1 T1 t2 t1 T1 t2 据我了解 t1 t2案例简直就是积分促销 第二种
  • 哪些文件在压缩后不会减少其大小[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我写了一个java程序用于压缩 我压缩了一些文本文件 压缩后文件大小减小 但是当我尝试压缩PDF文件时 压缩后我没有看到文件大小有任何
  • 在Python中找到第n个素数

    我用 Python 编写了以下代码段来查找第 n 个数字 我不明白为什么它不起作用 您能否只给我一个提示或指出到底是哪一点弄乱了它 而不是一个完整的解决方案 term int input What prime do you want to
  • 每个子类带有表的 Hibernate 鉴别器列

    现在我正在使用每个子类一个表的方法来建模我的数据 我的层次结构的简化是 abstract class Abstract common data stored in abstract class ConcreteTypeA1 extends
  • Oracle 连接运算符

    如何重写这个 select tab1 id tab2 id tab3 id from tab1 tab2 tab3 where tab1 col1 tab2 col1 and tab2 col2 tab3 col2 使用 OUTER JOI
  • relatedObjectDoesNotExist at /admin/login/ 用户没有个人资料

    学习 django 并创建了一个新项目 通过登录管理页面http 127 0 0 1 8000 admin http 127 0 0 1 8000 admin但是在为每个用户添加配置文件代码后 我收到以下错误 Error 用户 模型 py