【发布时间】:2015-03-15 23:57:17
【问题描述】:
django 使用 mod_wsgi 在 apache 上运行时如何在 django 设置文件上写入 css 路径。
我编写 apache 设置文件如下。
#httpd.conf
WSGIPythonHome /opt/python3.4
WSGIPythonPath /opt/python3.4/bin/python3
WSGIScriptAlias / /usr/local/django/mysite/mysite/wsgi.py
Alias /static/ /usr/local/django/mysite/mysite/static/
此别名命令用于 django 管理站点上的 CSS 路径。
我为管理站点复制静态文件。
How to use Django with Apache and mod_wsgi
我正在使用 django 版本 1.7 和 1.7 的主要教程。
教程 6 是如何在 django 上使用静态 CSS 和图像文件。
我的 django 文件树如下
mysite
- manage.py
+ mysite
- settings.py
+ static
- urls.py
- wsgi.py
+ polls
- admin.py
- models.py
+ templates
+ polls
- index.html
- urls.py
+ static
+ polls
- style.css
- views.py
mysite/settings.py
PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_ROOT,'static')
style.css 被 polls/templates/polls/views.py 使用
民意调查/模板/民意调查/views.py
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />
我访问了本地主机。
但是,没有找到用于民意调查的 CSS 文件。 (localhost/static/polls/style.css)
如果我修改 httpd.conf 文件如下。
WSGIPythonHome /opt/python3.4
WSGIPythonPath /opt/python3.4/bin/python3
WSGIScriptAlias / /usr/local/django/mysite/mysite/wsgi.py
Alias /static/ /usr/local/django/mysite/polls/static/polls/
它可以在投票应用程序上使用静态文件。
但是,在这种情况下,我找不到管理站点的静态文件。
我想在管理站点和我的应用程序上使用静态文件。
如何通过 mod_wsgi 在 apache 上使用静态文件?
【问题讨论】:
-
我认为您应该将
STATIC_ROOT设置为项目外部的目录,相应地调整httpd.conf,然后运行manage.py collectstaticdocs.djangoproject.com/en/1.7/ref/contrib/staticfiles/… -
我执行收集静态。这是工作。谢谢,
标签: python css django apache mod-wsgi