Django:为媒体文件定义 URL
Django: Define URL for media file
我想为文件文件夹定义自定义 URL,可以由 ftp 管理(我将授予 ftp 访问此文件夹的权限 'repository').
例如
File on disk:
var/www/djangoproject/media/repository/logo.png
我希望这张图片具有 URL:
/abc/def/logo.png
并分别针对文件夹中的其他文件。
这在 urls.py 中可能吗?
当然这在 urls.py
和 views.py
中是可能的。但是,使用 Web 服务器(例如 nginx)serve static content 显然是更好的解决方案。
您可以像处理任何其他视图一样制作普通视图;然后在该视图中,重定向到实际的 URL.
from django.shortcuts import redirect
def my_view(request):
return redirect('/media/repository/logo.png')
使用 permanent=True
让浏览器缓存另一个 URL 永久:
return redirect('/media/repository/logo.png', permanent=True)
请注意,服务器不可能强制客户端忘记永久重定向。
我想为文件文件夹定义自定义 URL,可以由 ftp 管理(我将授予 ftp 访问此文件夹的权限 'repository').
例如
File on disk:
var/www/djangoproject/media/repository/logo.png
我希望这张图片具有 URL:
/abc/def/logo.png
并分别针对文件夹中的其他文件。 这在 urls.py 中可能吗?
当然这在 urls.py
和 views.py
中是可能的。但是,使用 Web 服务器(例如 nginx)serve static content 显然是更好的解决方案。
您可以像处理任何其他视图一样制作普通视图;然后在该视图中,重定向到实际的 URL.
from django.shortcuts import redirect
def my_view(request):
return redirect('/media/repository/logo.png')
使用 permanent=True
让浏览器缓存另一个 URL 永久:
return redirect('/media/repository/logo.png', permanent=True)
请注意,服务器不可能强制客户端忘记永久重定向。