在Django中从文件路径生成媒体url



假设我有一个向MEDIA_ROOT写入文件的函数:

def write_file():
with open(settings.MEDIA_ROOT / 'myfile.txt') as file:
file.write('foobar')

现在我想要这个文件的绝对URL,因为它是从MEDIA_URL提供的。Django有任何实用函数来帮我做这些吗?还是需要我自己建?

注意此文件与模型的FileField无关。

# absolute_path?
# absolute_url?
# views.py
def example_view(request):
current_domain = request.META['HTTP_HOST']
file_url = current_domain + settings.MEDIA_URL + 'myfile.txt'
context = {'file_url': file_url}
return render(request, 'example.html', context)

最新更新