• 解决Django+nginx时Admin页面样式丢失问题和模板丢失问题


    比如说界面变成了这样:

    Django Admin管理界面样式丢失

    解决办法:

    1、在服务器上打开python,然后imort django ,print django.__file__查看django包的目录路径,然后在settings.py的路径里加上admin的static文件的路径

    STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static').replace('\', '/'),
    os.path.join(django.__file__.rstrip('__init__.py'), 'contrib/admin/static/admin').replace('\', '/'),
    )

    2、修改settings.py中STATIC_ROOT为你的static静态文件的物理路径,比如说我静态文件存放在 /opt/jira_platform/static中,最后修改settings.py中STATIC_ROOT指向 /opt/jira_platform/static。这个目录是服务器上用来收集静态文件的目录

    3、在服务器上运行python manage.py collectstatic命令,这将从Django资源包中复制必须的静态文件到STATIC_ROOT指示的static文件夹中,这其中包括admin界面所必须的样式表(style)、图片(image)及脚本(js)等。

    这里提示一下,假如不做第1步的话,直接运行这个命令会导致如下的错误提示(最后几行):

    File "/usr/lib/python2.7/dist-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 41, in __init__ self.storage = get_storage_class(settings.STATICFILES_STORAGE)() File "/usr/lib/python2.7/dist-packages/django/contrib/staticfiles/storage.py", line 23, in __init__ raise ImproperlyConfigured("You're using the staticfiles app " django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting.

    如果出现上述提示,说说明需要配置STATIC_ROOT文件(You’re using the staticfiles app without having set the STATIC_ROOT setting)。

    4、修改Nginx配置,比如/etc/nginx/nginx.conf或者/etc/nginx/sites-enabled/里面的配置文件,在server节中添加如下内容(请根据实际情况修改):

    location /static {
    alias /opt/jira_platform/static; # 这个路径需要与第二步设置的路径一致
    }

    完成上面三步后,重新加载相应设置:

    uwsgi reload
    nginx -s reload

    然后就可以成功了

    二、模板丢失问题

    由于nginx运行后代管了静态目录,所以如果后台有nginx进程时,修改的一些文件无法正常显示,页面展示的都是缓存,此时需要重启nginx

    如果不重启nginx,单纯修改django项目并启动django进程,可能会遇到报错或静态文件和模板文件丢失的问题

  • 相关阅读:
    rbd-mirror新功能
    ceph查询rbd的使用容量(快速)
    Ceph Bluestore首测
    让磁盘硬盘灯常闪定位盘
    aa
    地理围栏
    Can't connect to MySQL server on localhost (10061)解决方法
    经典智力题
    MEF程序设计指南
    ESRI.ArcGIS.AnalysisTools.Erase 结果是空?
  • 原文地址:https://www.cnblogs.com/slqt/p/10829954.html
Copyright © 2020-2023  润新知