Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-使用Glide访问Django服务器上的静态文件失败_Android_Django_Django Rest Framework_Android Glide_Filenotfoundexception - Fatal编程技术网

Android-使用Glide访问Django服务器上的静态文件失败

Android-使用Glide访问Django服务器上的静态文件失败,android,django,django-rest-framework,android-glide,filenotfoundexception,Android,Django,Django Rest Framework,Android Glide,Filenotfoundexception,我有以下Django型号: class MyAccount(AbstractBaseUser): ... profile_picture = models.FileField(upload_to='Images/',default='Images/placeholder.jpg') ... 当用户创建此帐户时,他将获得一个默认占位符图像。用户注册(为特定用户创建MyAccount实例)按预期工作 但我的Android应用程序无法在请求时获取占位符图像。在我的本地Dja

我有以下
Django
型号:

class MyAccount(AbstractBaseUser):
    ...
    profile_picture = models.FileField(upload_to='Images/',default='Images/placeholder.jpg')
    ... 
当用户创建此帐户时,他将获得一个默认占位符图像。用户注册(为特定用户创建
MyAccount
实例)按预期工作

但我的Android应用程序无法在请求时获取占位符图像。在我的本地
Django
开发服务器上,我得到以下错误:

[17/Nov/2020 12:54:34] "GET /media/Images/placeholder.jpg HTTP/1.1" 404 2569
Not Found: /media/Images/placeholder.jpg
为什么会这样?图像
占位符.jpg
存在,那么怎么可能找不到该文件呢

在Android Studio的
LogCat
输出中,我在过滤okhttp时遇到了类似的错误。您还可以看到注册已正确完成,但未找到文件:

2020-11-17 13:54:32.852 5825-5924/com.example.project D/OkHttp: {"response":"successfully authenticated.","id":1,"email":"abdullah@gmail.com","username":"abdullahc","profile_picture":"http://192.***.*.***:8000/media/Images/placeholder.jpg","date_joined":"2020-11-17T12:54:30.702559Z","token":"88b8ea2cf59ba851f7bac1751946213f5ee5afe9"}
2020-11-17 13:54:32.852 5825-5924/com.example.project D/OkHttp: <-- END HTTP (287-byte body)
2020-11-17 13:54:33.854 5825-5825/com.example.project I/Glide: Root cause (1 of 1)
    java.io.FileNotFoundException: http://192.168.2.104:8000/media/Images/placeholder.jpg
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:251)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadDataWithRedirects(HttpUrlFetcher.java:102)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:56)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:164)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:154)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:62)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100)
        at com.bumptech.glide.load.engine.SourceGenerator.startNextLoad(SourceGenerator.java:70)
        at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:63)
        at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:310)
        at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:279)
        at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
        at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:393)
2020-11-17 13:54:32.8525825-5924/com.example.project D/OkHttp:{“响应”:“已成功验证”。“id”:1,“电子邮件”:”abdullah@gmail.com“,”用户名“:”阿卜杜拉赫“,”个人资料图片“:”http://192.***.*.**:8000/media/Images/placeholder.jpg,“加入日期”:“2020-11-17T12:54:30.702559Z”,“标记”:“88b8ea2cf59ba851f7bac1751946213f5ee5afe9”}

2020-11-17 13:54:32.8525825-5924/com.example.project D/OkHttp:您是否将以下命令保存在settings.py中

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

我已设置媒体根目录,因为文件位于媒体文件夹中。请将此文件添加到配置文件图片的默认值旁边:-blank=True。看看这是否有效,然后告诉我。