将图像上传到 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')]
如果还有问题请告诉我
我无法将图像路径上传到我的 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')]
如果还有问题请告诉我