无法在通过 Django REST 框架上传的前端图像中显示

问题描述

我正在尝试创建 Django REST 应用程序,但是我无法允许访问图像的 url。

我设法完成了上传,但是当我有 URL 时,无法从浏览器访问照片。我将它们存储在文件夹 profile_pictures 中,我想从 localhost:8000/profile_pictures/image_name.jpg 加载图像,但我不确定如何设置它,因为我尝试将静态文件链接到 url,但似乎没有任何效果

settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,"static")
MEDIA_URL = '/profile_pictures/'
MEDIA_ROOT = os.path.join(BASE_DIR,"profile_pictures")

urls.py

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

但是,它说即使我使用以下方法导入静态名称也未定义:

from django.conf import settings
from django.conf.urls.static import static

我使用 Simple REST API 上传图像,我仅为测试而创建:

class UploadPictureAPI(generics.GenericAPIView):
    permission_classes = (IsAuthenticated,)

    def post(self,request):
        x = AdditionalUser(user=request.user,profile_picture=request.data['profile_picture'])
        x.save()
        print(x)
        return Response({"message": "uploaded"})

我将它们存储在一个数据库中:

class AdditionalUser(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    profile_picture = models.ImageField(upload_to='profile_pictures')
    user_bio = models.CharField(max_length=300)
    user_instagram = models.CharField(max_length=300)

它们被上传数据库文件夹中,但我无法从数据库的 url(我作为 profile_picture.url 获取)访问它们,它说找不到页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...