Django:ValueError at /“avatar”属性没有与之关联的文件

问题描述 投票:0回答:1

Django 向我发送以下错误: 值错误位于 / “头像”属性没有与之关联的文件。

enter image description here

即使我在注册虚拟个人资料时上传了头像,登录后也会出现该消息。

我什至在配置的路径:media/avatars 中找不到头像。

您能帮我看看我错在哪里吗? 下面是我的代码。

**模型.py: **

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    (some code)
    avatar = models.ImageField(upload_to='avatars/',blank=True, null=True)

**表单.py: **

class RegisterForm(UserCreationForm):

    (some code)

    avatar = forms.ImageField(
        required=False,
        widget=forms.ClearableFileInput(
            attrs={
                "class": "form-control"
            }
        )
    )

    class Meta:
        model = User
        fields = ['username','first_name','last_name','email','avatar','password1','password2','user_type']
    

**设置.py: **

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_DIR = BASE_DIR / 'media'
STATIC_ROOT = BASE_DIR / 'staticfiles'
MEDIA_ROOT = BASE_DIR / 'media'

我将其添加到主项目目录的urls.py中:

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

最后是我要上传头像的路径:

主要项目 ├── 媒体 │ ├── 头像

非常感谢您的帮助

我试图让所有上传的头像都转到媒体/头像。

我什至设定了有占位符图像的条件,以防用户不上传任何头像:

          {% if user.avatar %}
            <img src="{{ user.avatar.url }}">
          {% else %}
            <img src="{% static 'images/cat.png' %}">
          {% endif %}

static/images/ 中确实有一个“cat.png”图像

django attributes valueerror
1个回答
0
投票

希望您没有忘记应用 makemigration 并迁移!你有它的 github 存储库吗,我想在发表评论之前先看一下。

© www.soinside.com 2019 - 2024. All rights reserved.