代码之家  ›  专栏  ›  技术社区  ›  Ding Li

部署Django应用程序时出现静态文件问题

  •  0
  • Ding Li  · 技术社区  · 7 年前

    我了解在生产中加载静态文件存在一些问题/答案。

    然而,我的情况有所不同。我的django应用程序不是作为我的网站的主应用程序部署的(不在服务器的public-html文件夹中),而是一个附加的应用程序(在public-html之外的文件夹中)。服务器文件夹目录如下

    home/myaccount/
    ├── public_html
    |      └── static (not exist, location 1)
    ├── mydjango
           └── static (generated by collectstatic, location 2)
                └── css, fonts etc.
    

    在my settings.py中, STATIC_ROOT = os.path.join(BASE_DIR, 'static/') STATIC_URL = '/static/' .

    当前,浏览器将在不存在的位置1中查找静态文件,即, www.mypage.com/static/... ,而不是位置2。404错误返回。

    我的问题是我怎样才能改变 STATIC_ROOT STATIC_URL 或者其他设置使浏览器查找位置2而不是位置1?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Rakib    7 年前

    如果您使用的是Linux服务器,那么更简单的解决方案是创建一个 符号链接 位置1中的位置2静态文件夹。

    ln -s /home/myaccount/mydjango/static /home/myaccount/public_html/static
    

    另一种解决方案是创建静态的根路径来指向公共的HTML文件夹。