【发布时间】:2021-09-23 12:26:56
【问题描述】:
我正在为数据库使用 MYSQL。我想将我的 imagefield 文件上传到我在项目中创建的媒体文件夹中。我得到“空路径不存在”。
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
models.py
class Product(models.Model):
category = models.ForeignKey(Category, related_name='product', on_delete=models.CASCADE)
created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='product_creator')
title = models.CharField(max_length=255)
author = models.CharField(max_length=255, default='admin')
description = models.TextField(blank=True)
image = models.ImageField(upload_to='images/')
slug = models.SlugField(max_length=255)
price = models.DecimalField(max_digits=4, decimal_places=2)
in_stock = models.BooleanField(default=True)
is_active = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = 'Products'
ordering = ('-created',)
def __str__(self):
return self.title
urls.py
from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我已经在admin.py中成功注册了模型。
【问题讨论】:
-
如何在浏览器上显示图片路径?
-
您能否显示您在收到错误时执行的确切步骤?您可以与回溯分享完整的错误消息吗?
-
在我们的主页上显示路径不存在。不过,现在已经修好了。我在 settings.py 文件中添加了“MEDIA_ROOT”和“MEDIA_URL”。删除这些路径后,我上面的代码就可以工作了。
标签: mysql django django-models django-file-upload pysqlite