首页 > 解决方案 > 在 Ubuntu 上使用 Apache 部署的 Django 失去了所有样式

问题描述

我正在尝试在带有 Apache 的 Ubuntu 服务器上部署基于 Django 的产品。到目前为止一切顺利,我可以得到 Apache 提供的应用程序,但我发现这些应用程序失去了所有的样式。

这是我第一次这样做,所以我做了一些研究,发现并遵循了这个非常好的教程,但我没有找到任何关于我遇到的问题的参考。

这是在我的settings.py

STATICFILES_DIRS    = (os.path.join(BASE_DIR,'FrontEndApp','public'),)
STATIC_URL          = '/res/'
STATIC_ROOT         = os.path.join(BASE_DIR, 'static/')

这是我的000-default.conf

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined


Alias /static /home/axel/IntellibookProject/Intellibook/static
<Directory /home/axel/IntellibookProject/Intellibook/static>
        Require all granted
</Directory>

<Directory /home/axel/IntellibookProject/Intellibook/Intellibook>
        <Files wsgi.py>
                Require all granted
        </Files>
</Directory>

WSGIDaemonProcess Intellibook python-home=/home/axel/IntellibookProject/IntellibookVenv python-path=/home/axel/IntellibookProject/Intellibook
WSGIProcessGroup Intellibook
WSGIScriptAlias / /home/axel/IntellibookProject/Intellibook/Intellibook/wsgi.py

我使用 为应用程序进行了测试pyhton manage.py runserver 0.0.0.0:8000,并且一切正常。仅当应用程序使用 Apache 提供服务时,该问题才存在。

标签: pythondjangoapacheubuntu

解决方案


您可能会丢失静态引用。当您在浏览器中访问应用程序时,右键单击并选择inspectview page source。在里面inspect,您应该能够看到“Sources”,并且您的 CSS 应该会显示在该列表中。 这将告诉您是否引用了正确的文件路径。

如果您没有引用正确的文件路径,请更改Alias /static /home/axel/IntellibookProject/Intellibook/static000-default.conf反映正确的静态引用。


推荐阅读