当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/
此Alias命令用于django管理站点上的CSS路径。
我为管理站点复制静态文件。
如何在Apache和mod_wsgi中使用Django
我正在使用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使用
polls / templates / polls / 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上使用静态文件?
您应该做类似的事情。
Alias /static/ /path/to/your/STATIC_ROOT/directory/
<Directory /path/to/your/STATIC_ROOT/directory>
Require all granted
</Directory>
在httpd.conf中,应该运行./manage.py collectstatic
以便所有静态文件+ django admin静态文件都收集在STATIC_ROOT
目录中。
然后打开您的主线urls.py
并在末尾添加这些行
from settings import STATIC_ROOT
if conf.DEBUG == True:
urlpatterns = patterns('',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': STATIC_ROOT}),
) + urlpatterns
将这些行添加到您的 settings.py
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'polls/static'),
)
并浏览文档。
我希望现在一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句