0
我正在使用this文章创建一个动态路径来保存文件。无论如何,我可以从文章中描述的get_image_path
函数中访问请求对象?Django中的访问请求形式动态FileField.upload_to路径
我正在使用this文章创建一个动态路径来保存文件。无论如何,我可以从文章中描述的get_image_path
函数中访问请求对象?Django中的访问请求形式动态FileField.upload_to路径
没有(干净)的方式来做到这一点,我认为这不是一个好主意。我不知道为什么你会希望在那里发出请求,但请记住请求对象上的许多事情可能会被用户篡改,并且使用它来做文件系统操作可能是不安全的。
但是有办法做到这一点,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