我正在尝试为一些必须用python open()方法打开的json文件设置路径。阅读文档时,我注意到www.example.com中的Storage类的path方法django.core.files.storage必须被重写,但我不知道如何重写它,因为我不知道如何存储此路径。
我的文件在这边
App
--index_backend
----json
-------some_json.json
----index.py
--views.py
manage.py
我是Django的新手,所以如果你需要更多的代码,请告诉我尽可能多地上传。
更新我想实现的是当点击按钮时调用一个函数,这个按钮向http://127.0.0.1:8000/App/getValues发送一个请求,以便运行一个python函数,该函数调用www.example.com中的另一个python函数。在index.py中,some_json.json被打开,但当运行getValues时,它在/App/getValues/处引发FileNotFoundError,因为它在/App/getValues/而不是/App/index_backend/json/中查找some_json.json。index.py
4条答案
按热度按时间biswetbf1#
在index.py文件中:
uklbhaso2#
如果你使用Django 3.1+,这里有一个方法可以在索引中使用
dw1jzc5e3#
以上都不起作用,经过大量的搜索,这对我来说是有效的。
首先,添加了MEDIA ROOT,因为我需要这些JSON文件是动态的
然后,在index_backend/index.py上导入default_storage
将媒体文件夹设置为
cig3rfwq4#
对于那些使用存储桶的用户- AWS或类似的用户如果您使用的是介质-请使用以下内容构建文件路径:
从django.core.files.storage导入get_storage_class
//这里需要双大括号
media_storage = get_storage_class()()
file_path = media_storage.url(name=fileobj.file.name)