Django 管理站点未显示 CSS 样式

标签 django apache

我的 Django 管理网站(它是完全默认的,不是自定义的)没有显示预期的 CSS。

它看起来像这样:

enter image description here

我可以登录:

enter image description here

但它应该是这样的:

enter image description here

我该如何解决?

其他可能有帮助的信息:

我在端口 80 上的 Amazon EC2 实例上运行并使用真实 URL 连接到它。我使用本教程进行设置:
http://www.nickpolet.com/blog/deploying-django-on-aws/1/

按照该教程,我将此代码放入名为 /etc/apache2/sites-enabled/mysite.conf 的文件中。 .我不明白这段代码在做什么,所以我认为它可能与问题有关。

/etc/apache2/sites-enabled/mysite.conf:

WSGIScriptAlias / /home/ubuntu/cs462/mysite/mysite/wsgi.py
WSGIPythonPath /home/ubuntu/cs462/mysite
<Directory /home/ubuntu/cs462/mysite/mysite>
    <Files wsgi.py>
        Order deny,allow
        Require all granted
    </Files>
</Directory>

Alias /media/ /home/ubuntu/cs462/mysite/media/
Alias /static/ /home/ubuntu/cs462/mysite/static/

<Directory /home/ubuntu/cs462/mysite/static>
    Require all granted
</Directory>

<Directory /home/ubuntu/cs462/mysite/media>
    Require all granted
</Directory>

目录结构:
/home/ubuntu/cs462/
        mysite/
            manage.py
            db.sqlite3
            mysite/
                __init__.py
                __init__.pyc  
                settings.py  
                settings.pyc  
                urls.py  
                wsgi.py
            homepage/
                admin.py  
                admin.pyc  
                __init__.py  
                __init__.pyc  
                migrations  
                models.py  
                models.pyc  
                tests.py  
                views.py

settings.py 的最后一部分:
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/

STATIC_URL = '/static/'

最佳答案

您的 Apache 配置要求所有静态内容(CSS、JS、图像等)都应位于 mysite/static 目录中。您应该首先将应用程序中的静态内容收集到 mysite/static 目录中:

cd /home/ubuntu/cs462/mysite
python manage.py collectstatic

更新:如果您没有为静态内容指定位置,您应该将以下行添加到您的 settings.py :
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

关于Django 管理站点未显示 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728912/

相关文章:

django - 使用 ElasticSearch 作为 Django 的数据库/存储

Django 测试 - 如何为特定应用程序使用不同的设置文件运行测试?

apache - Directus api 和应用程序与前端在同一台服务器上

python - 如何在一台 Web 服务器上的不同域下运行不同的 Django 项目?

apache - 使用 .htaccess [#Q1.] 修改 URL

javascript - 使用ajax作为评论表单,它给了我500内部错误,但没有脚本它可以工作,这意味着我的脚本是错误的;对吗?

Python:转换字典中的元组列表

regex - 在 .htaccess 中仅从一个特定文件中删除 .php 扩展名

python - send_email 在 django 中不起作用?

使用 VirtualHosts 的 Apache 2 类型 SSl