微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 django 中找不到媒体文件夹配置路径

如何解决在 django 中找不到媒体文件夹配置路径

我使用 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 中成功注册了模型。

解决方法

您的代码:

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

测试一下:

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

我通过删除我之前添加的 settings.py 文件中的“MEDIA_URL”和“MEDIA_ROOT”路径来修复此错误。然后上面的代码就可以工作了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。