未找到Django静态文件404

未找到Django静态文件404,django,Django,我搜索了类似的问题,但没有找到答案 我的简单webapp结构是: mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py static/ test.txt myfirstapp/ 我已经设置了STATIC_URL='/STATIC/' 和STATIC\u ROOT=os.path.join(BASE\u DI

我搜索了类似的问题,但没有找到答案

我的简单webapp结构是:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    static/
        test.txt
    myfirstapp/
我已经设置了STATIC_URL='/STATIC/' 和STATIC\u ROOT=os.path.join(BASE\u DIR,“STATIC”)

当我启动django服务器时,我打印出静态路径,它是 /home/pi/mysite/static,看起来正确

在我的模板中,代码是:

{% load static %}
<li><a href="{% static 'test.txt' %}">Test File</a></li>
{%load static%}
  • 如果我点击链接,我总是得到404。但是,如果我将静态文件夹放在/home/pi/mysite/mysite/,那么静态目录是/home/pi/mysite/mysite/static,这段代码可以工作,我可以查看txt文件

    我被设置搞糊涂了,我想我在根目录的设置中设置了静态目录,但没有在“mysite/mysite”中设置。为什么真正的行为是相反的?这里有什么问题?谢谢

  • 您需要在服务器上运行
    python manage.py
    。 这将把静态文件放在静态URL的位置
  • 您需要在web服务器中配置静态文件
  • 例如,Nginx conf文件:

    location /static/ {     
      root   /django_path/static/;    
    } 
    

    你应该在发展过程中为他们服务。看看这个。 编辑主
    url.py
    (您可以在与
    settings.py
    相同的文件夹中找到它)


    您是否检查过静态文件夹中是否有test.txt是的,它就在那里。问题是,我必须将静态目录放在mysite/mysite中,检查它是否有用,我已经回答了类似的问题。我只是在使用django开发服务器。我已经运行了python manage.py
    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)