python - python Saleor Django Apache mod_wsgi将不支持/static/admin/

  显示原文与译文双语对照的内容

我在一个 virtualenv 下运行 saleor Django 应用程序,并将apache作为非特权用户。

实际上,让一切都变得简单,但一位让我困惑。

站点的/static/admin/部分未被服务。

我已经查看了部署文档其他建议,但是没有发现什么帮助,到目前为止。

我的/static/目录正被服务。 我相信这对non-django-noob很明显但是我是这样的。 我不确定是否将一个子目录别名到另一个别名目录中。 我宁愿不使用符号符号。


# dev-site.conf



WSGIPythonPath/home/admin/project/saleor:/home/admin/project/venv/lib/python2.7/site-packages



<VirtualHost *:80>


 ServerName example.com


 ServerAdmin email@example.com


 DocumentRoot"/home/admin/project"



 WSGIDaemonProcess example.com python-path=/home/admin/project/saleor:/home/admin/project/venv/lib/python2.7/site-packages


 WSGIProcessGroup example.com


 WSGIScriptAlias//home/admin/project/saleor/wsgi.py



 Alias/media//home/admin/project/media/


 <Directory/home/admin/project/media/>


 Require all granted


 </Directory>



 Alias/favicon.ico/home/admin/project/saleor/static/images/favicon.ico


 Alias/robots.txt/home/admin/project/saleor/static/robots.txt


 Alias/static//home/admin/project/saleor/static/


 <Directory/home/admin/project/saleor/static/>


 Require all granted


 </Directory>



 Alias/static/admin//home/admin/project/venv/lib/python2.7/site-packages/django/contrib/admin/static/admin/


 <Directory/home/admin/project/venv/lib/python2.7/site-packages/django/contrib/admin/static/admin/>


 Require all granted


 </Directory>



 <Directory/home/admin/project>


 <Files wsgi.py>


 Require all granted


 </Files>


 </Directory>



 ErrorLog ${APACHE_LOG_DIR}/error.log


 CustomLog ${APACHE_LOG_DIR}/access.log combined



</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet



我将 saleor/wsgi 。py包括在智能中。


# wsgi.py



python



import os


import sys


import site



site.addsitedir("/home/admin/project/venv/lib/python2.7/site-packages")


os.environ.setdefault("SECRET_KEY","br549")


os.environ.setdefault("MYSQL_DB_URL","mysql://dbuser:doublesecret@dbuser-dev.example.com:3306/saleor")


os.environ.setdefault("DJANGO_SETTINGS_MODULE","saleor.settings")



project ="/home/admin/project/saleor"


workspace = os.path.dirname(project)


sys.path.append(workspace)



from django.core.wsgi import get_wsgi_application


application = get_wsgi_application()



时间: 原作者:

你不应该尝试使Apache直接从你自己的应用程序或者管理应用程序的static 目录中服务。 相反,按照文档并使用 collectstatic 命令在一个地方收集所有应用程序的static 文件,并从那里服务器。

原作者:
...