我有Django 4.1.7网站,由Ubuntu PC上的apache2提供服务。
在apache2的.conf文件中:Alias /static /mnt/hdd/SIMSY/static/
和Django按预期工作。
所有的CSS,JS,图像都加载得很好。
但是当使用Django的内置管理站点添加新对象时,站点试图将图像保存在Ubuntu根目录下的/static
上(这导致了Permission错误,然后我尝试在根目录下创建该文件夹,它实际上将图像保存在该文件夹中)。
Django是如何在apache2告诉它/static
是/mnt/hdd/SIMSY/static
时试图保存到/static
中的?
我假设在www.example.com中可以改变一些东西settings.py来解决这个问题,可以改变什么?
以下是www.example.com中settings.py与静态有关的部分:
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
1条答案
按热度按时间5lhxktic1#
上传的文件不是静态文件,而是媒体文件,需要在设置文件中设置MEDIA_ROOT和MEDIA_URL才能正确处理。
这里有一些关于如何在django中处理用户上传的文件的有用链接: