Python Django-找不到404静态文件

Python Django-找不到404静态文件,python,django,Python,Django,我知道有上百万个这样的问题,但没有一个能帮我解决 我无法访问静态文件进行部署,我已将设置文件放入基本和生产环境中,并将它们放入settings.py原始文件的文件夹中 我已经做了所有必要的事情,但它似乎仍然不起作用,我不能为我的生活解决它 我试过多次编辑路径,但没有任何更改 也许我错过了一些明显的东西,其他人可以看到 文夫 --计划 ----附件1 ------静态文件夹 ----wsgi文件夹 ------设置\u old.py ------新设置文件夹 ---------base.py --

我知道有上百万个这样的问题,但没有一个能帮我解决

我无法访问静态文件进行部署,我已将设置文件放入基本和生产环境中,并将它们放入settings.py原始文件的文件夹中

我已经做了所有必要的事情,但它似乎仍然不起作用,我不能为我的生活解决它

我试过多次编辑路径,但没有任何更改

也许我错过了一些明显的东西,其他人可以看到

  • 文夫
  • --计划
  • ----附件1
  • ------静态文件夹
  • ----wsgi文件夹
  • ------设置\u old.py
  • ------新设置文件夹
  • ---------base.py
  • ---------production.py
  • base.py

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    INSTALLED_APPS = ['django.contrib.staticfiles',]
    
    STATIC_URL = '/static/'
    
    STATIC_DIRS = (os.path.join(BASE_DIR, 'static'),)
    STATIC_ROOT = os.path.join(BASE_DIR, 'static_r')
    
    STATICFILES_FINDERS = ( 
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    )
    
    我尝试了一些不同的方法,比如从BASE_DIR更改为一个新的PROD_DIR,它直接进入索引中的静态文件

    PROD_ROOT = os.path.dirname(os.path.abspath('__file__' ))
    PROD_ROOT= os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath('__file__' ))))
    PROD_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
    
    似乎什么都没用

    更新:

    正如其他人所建议的,我尝试过collectstatic,但是找到了文件夹env/project/static\r,我得到了

    “0个复制到静态\r的文件”

    此外,正如建议的那样,我打印了base_dir和prod_dir,得到了以下结果

    “prod is/user/venv/project”和“base is/user/venv/project/wsgi文件夹”

    p、 这是在我把prod_dir编辑成-

    PROD_ROOT = os.path.dirname(os.path.abspath('__file__' ))
    

    根据您的设置,您的静态文件应位于/project/static/中,而不是单个应用程序中

    您还需要按照中的说明加载静态文件

    {%load static%}
    
    要测试路径,您可以随时打印路径

    那么在你的设置中呢

    print BASE_DIR, STATIC_DIRS, STATIC_ROOT
    
    你会发现你的错误在哪里


    在我看来,这是因为您将静态文件夹放在应用程序中,而不是放在项目中,因为
    collectstatic
    将把所有静态文件放在一个目录中,而不管它是什么

    我不是很确定,但您确定它是静态的而不是静态文件吗?'-'

    您是否已进入虚拟环境(或是否使用虚拟环境)并运行了
    python manage.py collectstatic
    ?您为什么要使用带有两个
    dirname
    函数的
    BASE\u DIR
    ?可能有问题吗?@JanSila,因为base.py是比原始settings.py低的另一个目录,但是我只尝试了一个,它仍然没有work@MattCremeens我还没有运行collectstatic,但它应该基于STATIC_DIR工作,但不管怎样,我现在会检查并返回给您为这个想法干杯,我已经完成并更新了问题是的,我已经使用tagOMFG加载了静态文件您的绝对天使先生/女士。在过去的36个小时里,我真的一直在拔头发。我很感激,谢谢你!没关系:)这已经发生在我身上了,我用STATICFILES\u DIR代替了STATICFILES\u DIRS,我真的不知道哪一个是我的错误xD
    print BASE_DIR, STATIC_DIRS, STATIC_ROOT