django - 当 Django DEBUG = False 时托管媒体文件
问题描述
为了Media files
在我的网络服务器中服务,我遇到了一个小问题。我的 web 应用程序处于生产模式,所以我必须设置DEBUG = false
.
这是我的项目:
Astrophotographie
|
|_ Accueil
|_ Articles
|_ Astrophotographie
|_ Astro_Database
|_ manage.py
|_ Media
| |_ Media
| |_ list of pictures
|_ static
|_ templates
|_ virtualenv
我的 settings.py 文件:
STATIC_URL = '/static/'
THEME_DIRS = os.path.join(BASE_DIR, "static")
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), THEME_DIRS, ]
MEDIA_URL = "/Media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "Media")
好吧,它已经完成了,我知道 Django 不能像这样托管媒体文件,所以我必须Apache2
这样做。我配置了 Apache2,所以我所有的网站听起来都像,但我没有克服显示图片。
Apache2 配置:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerAdmin webmaster@localhost
Alias /Media/ /home/pi/astro/Astrophotographie/Media
Alias /static/ /home/pi/astro/Astrophotographie/staticfiles
<Directory /home/pi/astro/Astrophotographie/static>
Require all granted
</Directory>
<Directory /home/pi/astro/Astrophotographie/Media>
Require all granted
</Directory>
<Directory /home/pi/astro/Astrophotographie/Astrophotographie>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess astro/Astrophotographie python-path=/home/pi/astro/Astrophotographie python-home=/home/pi/astro/astroenv
WSGIProcessGroup astro/Astrophotographie
WSGIScriptAlias / /home/pi/astro/Astrophotographie/Astrophotographie/wsgi.py
</VirtualHost>
别名似乎不错吧?为了正确显示图片,我错过了配置中的某些内容?
这是我在我的网站上得到的:
解决方案
我找到了答案,我不得不像这样修改我的 apache2 文件:
Alias /Media/ /home/pi/astro/Astrophotographie/Media/
我忘了/
在我的行尾。现在,有了DEBUG = False
,它工作正常
推荐阅读
- flutter - Flutter 的漏光效果
- java - 如何通过pdfbox和java向pdf添加多个电子签名
- java - 如何将静态文件复制到 IntelliJ Idea IDE 中的输出目录以进行 java 构建配置?
- reactjs - ReactJs 超过最大更新深度
- r - 未见数据的多项式拟合
- capacitor - 如何确定当前平台是 Capacitor 中的本机应用程序还是 Web?
- javascript - 来自数据库的 Angular 6 动态路由表
- python - Docker compose - 找不到 manage.py 文件
- c# - CurrentValues.SetValues(); 不适用于可为空的属性
- windows - 覆盖 Qt 应用程序中的系统范围 (Windows) 快捷键