Django DEBUG=False时托管媒体文件
为了在我的Web服务器中提供Django DEBUG=False时托管媒体文件,django,django-templates,apache2,Django,Django Templates,Apache2,为了在我的Web服务器中提供媒体文件,我遇到了一个小问题。 我的web应用程序处于生产模式,因此我必须设置DEBUG=false 这是我的项目: Astrophotographie | |_ Accueil |_ Articles |_ Astrophotographie |_ Astro_Database |_ manage.py |_ Media | |_ Media | |_ list of pictures |_ static |_ templates |_ v
媒体文件
,我遇到了一个小问题。
我的web应用程序处于生产模式,因此我必须设置DEBUG=false
这是我的项目:
Astrophotographie
|
|_ Accueil
|_ Articles
|_ Astrophotographie
|_ Astro_Database
|_ manage.py
|_ Media
| |_ Media
| |_ list of pictures
|_ static
|_ templates
|_ virtualenv
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")
<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>
My settings.py文件:
Astrophotographie
|
|_ Accueil
|_ Articles
|_ Astrophotographie
|_ Astro_Database
|_ manage.py
|_ Media
| |_ Media
| |_ list of pictures
|_ static
|_ templates
|_ virtualenv
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")
<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>
好了,已经完成了,我知道Django不能像这样托管媒体文件,所以我有Apache2
来做到这一点。我配置了Apache2,所以我所有的网站听起来都像,但我无法显示图片
Apache2配置:
Astrophotographie
|
|_ Accueil
|_ Articles
|_ Astrophotographie
|_ Astro_Database
|_ manage.py
|_ Media
| |_ Media
| |_ list of pictures
|_ static
|_ templates
|_ virtualenv
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")
<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>
DocumentRoot/var/www/html
服务器管理员webmaster@localhost
Alias/Media//home/pi/astro/Astrophotography/Media
Alias/static//home/pi/astro/astrophotography/staticfiles
要求所有授权
要求所有授权
要求所有授权
WSGIDaemonProcess astro/astrophotography python path=/home/pi/astro/astrophotography python home=/home/pi/astro/astroenv
WSGIProcessGroup天文/天体摄影
WSGIScriptAlias//home/pi/astro/astrophotography/astrophotography/wsgi.py
Alias看起来不错吧?
为了正确显示图片,我的配置中遗漏了一些内容
这是我在我的网站上看到的:
我找到了答案,我不得不修改我的apache2文件如下:
Alias /Media/ /home/pi/astro/Astrophotographie/Media/
我忘了我这行末尾的
/
。现在,使用DEBUG=False
,它工作正常请不要发布文本图片。Django和Apache设置都不可读;将它们作为实际文本复制并粘贴到此处。我正在使用SSH,因此我必须编写所有内容或进行屏幕截图:/I我将尝试使其更好;)