django admin后台无样式 css丢失

    xiaoxiao2021-03-25  157

    用django框架部署项目到apache2后,创建超级管理员,登录后台一看,竟然和测试服务器的不一样,没有样式。

    查资料找到了原因,是因为admin所需的js ,css等静态文件虽然都在django的安装目录内,但是我们没有在配置文件里设置一个正确的指向。解决方法如下:

    1、终端进入python

          >>>import django

          >>>django.__file__

          /usr/local/lib/python3.4/dist-packages/django/__init__.py

          由此我们可以确定django admin样式的位置:/usr/local/lib/python3.4/dist-packages/django/contrib/admin/static

    2、修改setting.py 文件

    STATIC_URL = '/static/' # 当运行 python manage.py collectstatic 的时候 # STATIC_ROOT 文件夹 是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的文件都复制过来 # 把这些文件放到一起是为了用apache等部署的时候更方便 STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 其它 存放静态文件的文件夹,可以用来存放项目中公用的静态文件,里面不能包含 STATIC_ROOT # 如果不想用 STATICFILES_DIRS 可以不用,都放在 app 里的 static 中也可以 STATICFILES_DIRS = ( os.path.join(BASE_DIR, "common_static"), '/usr/local/lib/python3.4/dist-packages/django/contrib/admin/static', # 用不到的时候可以不写这一行 ) 就是在STATICFILES_DIRS中指定了django admin 样式原来的位置,以及要把它放到当前目录中的位置。

    然后我们运行:sudo python manage.py collectstatic 就把需要 的静态文件做了复制操作。

    再次打开后台应该就可以了。

    参考: http://www.ziqiangxuetang.com/django/django-deploy.html   http://blog.csdn.net/a657941877/article/details/8953233    

    转载请注明原文地址: https://ju.6miu.com/read-9305.html

    最新回复(0)