我正在使用this文章来创建保存文件的动态路径。无论如何,我可以从文章中描述的get_image_path
函数中访问请求对象吗?
答案 0 :(得分:0)
没有(干净的)方法可以做到这一点,我认为这不是一个好主意。我不知道为什么你想要那里的请求,但请记住,请求对象上的许多东西都可以被用户篡改,并使用它来做文件系统操作可能是不安全的。
但是有一种方法可以做到这一点,Django和Python社区中的大多数人都不赞成这种方法,但你可以在中间件中设置一个本地线程并在你的函数中访问它。
<强> middleware.py 强>:
import threading
mydata = threading.local()
class RequestHackMiddleware(object):
def process_request(self, request):
mydata.request = request
<强> models.py 强>:
from middleware import mydata
def get_image_path(instance, filename):
# do stuff with mydata.request