oldbee0925 2023-02-10 09:04 采纳率: 91.4%
浏览 31
已结题

django的后台管理页面静态文件如何加载?

我的django项目,主web的静态文件加载正常,但是django自带的administrator管理页面的样式不能加载,以下是我的配置:
setting文件:

STATIC_URL = '/assets/'
STATIC_ROOT = os.path.join(BASE_DIR, 'templates/assets')
"""
STATICFILES_DIRS =( 
                    os.path.join(BASE_DIR, 'templates/assets') ,
                    #os.path.join(BASE_DIR, 'templates') ,
                    #os.path.join(BASE_DIR, 'templates/assets/css') ,
                    #os.path.join(BASE_DIR, 'stock_ana/templates/assets') ,
                    #os.path.join(BASE_DIR, 'stock_ana/assets') ,
                    #os.path.join(BASE_DIR, 'stock_ana/templates') ,
                                        
                   ) #BASE_DIR, 
"""

urls文件:

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^assets/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='assets'),
]

其实很多配置我并没有搞懂,都是百度来的。我有以下问题:
1)部署在iis,STATICFILES_DIRS 启用就不行,非得用STATIC_ROOT 吗?
2)admin.site.urls部署在django的安装目录,静态文件无法找到,如何解决?

  • 写回答

3条回答 默认 最新

  • 澈丹丶 2023-02-13 10:29
    关注
    1. IIS里,必须是STATIC_ROOT。本地开发时,是django runserver提供了静态文件管理,IIS上,是IIS做静态文件管理。两者是不一样的
    2. 执行下 python manage.py collectstatic 命令试下。它会将所有的静态文件拷贝至 STATIC_ROOT。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月17日
  • 已采纳回答 2月13日
  • 创建了问题 2月10日