加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

python-提供管理静态文件的Django React Nginx

发布时间:2020-12-13 20:55:49 所属栏目:Nginx 来源:网络整理
导读:我问一个已经回答过的问题有点尴尬-但是我觉得让节点提供静态文件而不是Django有一个区别点.由webpack捆绑并由node提供的css正常工作,我遇到的问题是使用get_static_prefix装饰器提供admin css和其他两个文件. 文件结构如下: root | public - templates - s

我问一个已经回答过的问题有点尴尬-但是我觉得让节点提供静态文件而不是Django有一个区别点.由webpack捆绑并由node提供的css正常工作,我遇到的问题是使用get_static_prefix装饰器提供admin css和其他两个文件.

文件结构如下:

root
    |
     public
        - templates
        - static
             | <-- collectstatic adding files here
        - vendor
    |
      server
        - app1
        - app2
             | settings.py        

/ etc / nginx / sites-available / project

 server {
     listen xxx.xxx.xxx.xxx:8000;
     server_name xxx.xxx.xxx.xxx;
     location /static {
            alias /root/se/env/public/static/;
    }
}

和settings.py中的设置

STATIC_URL = '/root/se/env/public/static/'
MEDIA_URL = '/media/'
STATIC_ONLY_URL = '/static_only/'

if not DEBUG:
    MEDIA = '/media',STATIC_ROOT = '/root/se/env/public/static/'
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR),'public','media')
    STATICFILES_DIRS = '/root/se/env/public/vendor/static/',

我已经转了一圈了.我是Django的新手,并不真正了解它的工作原理.据我了解,STATICFILES_DIRS是collectstatic从中收集静态文件的地方,而STATIC_ROOT是collectstatic运行后转储静态文件的地方.我认为STATIC_URL是我要出问题的地方-但是我没有很多运气来弄清楚它.

就目前而言,当DEBUG = True时,管理员css也无法正常工作,所以我配置错误.结果是:

Not Found: /static/admin/css/base.css
最佳答案
您的位置/静态错误.别名指令在形成路径名时会替换URI的某些部分. location参数和alias参数都应以/结束,或者都不应以/结束:

location /static {
    alias /root/se/env/public/static;
}

要么:

location /static/ {
    alias /root/se/env/public/static/;
}

实际上,由于alias参数以location参数结尾,因此您根本不应使用alias指令.请参阅the alias documentation末尾的注释.

location /static {
    root /root/se/env/public;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读