将图像上传到 Django 数据库引发 TypeError

Uploading image to Django database raises TypeError

我无法将图像路径上传到我的 Django 数据库。当我尝试在没有 eventImage 字段的情况下添加数据时,它工作正常。但是当我将任何内容上传到 eventImage 字段时,它会显示:

TypeError at /admin/events/event/add/
expected str, bytes or os.PathLike object, not tuple
Request Method: POST
Request URL:    http://127.0.0.1:8000/admin/events/event/add/
Django Version: 3.2.5
Exception Type: TypeError
Exception Value:    
expected str, bytes or os.PathLike object, not tuple
Exception Location: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/posixpath.py, line 374, in abspath

我已将相关代码片段放在下面。请让我知道我做错了什么!

在我的 settings.py 文件中:

from pathlib import Path
import os

BASE_DIR = Path(__file__).resolve().parent.parent
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'events',
]
STATIC_URL = '/static/'
MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media'),
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

在我的 events.py 文件中:

from django.db import models

class Event(models.Model):
    venueName = models.TextField()
    artistName = models.TextField()
    eventName = models.TextField()
    time = models.TextField()
    date = models.TextField()
    length = models.TextField()
    description = models.TextField()
    eventImage = models.ImageField(
        upload_to='media/', blank=True, null=True)

    def __str__(self):
        return self.eventName

任何帮助将不胜感激!

你的结尾逗号有问题,请像这样删除它:

STATIC_URL = '/static/'
MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

如果还有问题请告诉我