使用mod_wsgi在Apache上的Django中找不到CSS文件路径

埃达玛

当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上使用静态文件?

阿迪尔·马利克(Adil Malik)

您应该做类似的事情。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

网关超时,在Apache上使用Django和mod_wsgi

使用mod_wsgi CSRF验证的Apache上的Django失败

在wordpress中运行Django项目(使用Apache和mod_wsgi在wordpress的子URL上)

考虑使用 mod_wsgi 在 apache 上提供 Flask 应用程序的文件路径的正确方法是什么

设置文件的位置,用于使用mod_wsgi在Apache2上使用Django部署静态文件

Django在mod_wsgi(Linux)上的apache上-403 Forbidden

如何通过Apache 2和mod_wsgi在Ubuntu上正确提供Flask App?404找不到错误

在ubuntu 18.04上使用Mod_WSGI的Django,但对Apache2的媒体/权限被拒绝

使用apache2在mod_wsgi上运行django python 3.4

在Apache和mod_wsgi下运行的Django使用“虚拟”文件系统?

在virtualenv中,Django的Apache mod_wsgi错误

使用mod_wsgi用apache设置Django

无法使用Apache + mod_wsgi远程访问Django应用

使用 mod_wsgi 在 Apache 上部署 Django

Django:使用 mod_wsgi 创建的 SOCK 文件的权限错误

Django,Apache和mod_wsgi

Apache、Django 和 mod_wsgi

在 Google Compute Engine 上为 Flask 配置 Apache WSGI(使用 mod_wsgi 的 Flask 导入错误)

无法在openSuse错误中建立apache mod_tile:在路径上找不到apxs

在具有Python 3.6,Apache 2.4和Django 1.11的Ubuntu上安装mod_wsgi

ubuntu上的Django + Pipenv + Apache + mod_wsgi部署未加载模块

ubuntu 16 上的 500 内部服务器错误 django + mod_wsgi + apache2

Django-具有mod_wsgi的Apache不提供静态文件

使用mod_wsgi在Apache2上部署Django-Django项目的正确位置?

使用mod_wsgi在Ubuntu 16.04 apache2上部署Django应用

寻求有关使用Apache和mod_wsgi的Django部署设置的建议

无法在 Apache (mod_wsgi) 上部署官方 Django 教程

apache和mod_wsgi的多个django网站

带有 mod_wsgi 模块的 Django apache 配置