Django静态文件中的404错误

时间:2018-08-16 20:55:00

标签: python django python-3.x django-templates django-views

我是新来的django。我试图在演示项目中添加一些引导程序。但我只是得到404 not found错误。我在网上搜索了很多答案,这些答案并没有帮助我解决愚蠢的问题。

Here is my myproject/settings.py

Here is my html file Here is the error message

2 个答案:

答案 0 :(得分:1)

首先,静态根用于生产。如果您希望Django在django项目的顶层(manage.py所在的位置)选择模板,则需要添加到settings.py:

  

STATICFILES_DIRS = [       os.path.join(BASE_DIR,“静态”),      ]

STATICFILES_DIRS告诉django在添加到其中的路径中查找模板。例如,我希望django在djang-folder / static和django-folder / other中寻找模板,staticfile_dirs应该如下所示:

  

STATICFILES_DIRS = [       os.path.join(BASE_DIR,“静态”),         os.path.join(BASE_DIR,“其他”),      ]

这里有更好的解释:https://django.readthedocs.io/en/latest/howto/static-files/

在这里:https://www.youtube.com/watch?v=5yjInLsy6P8


还有另一件事:在第二个屏幕截图的第一行上,取消注释{%load static%},否则它将不会拾取任何静态文件。

答案 1 :(得分:0)

您需要为本地项目添加STATIC_DIRS。

您可以在Django documentation中找到这些设置。这是我在文档中的定义和引文:

  • MEDIA_ROOT是使用FileField上传的文件所在的文件夹。

      

    将保存user-uploaded files的目录的绝对文件系统路径。

  • STATIC_ROOT是使用manage.py collectstatic

    后将存储静态文件的文件夹
      

    collectstatic将收集用于部署的静态文件的目录的绝对路径。

         

    如果启用了staticfiles贡献应用程序(默认),则collectstatic管理命令会将静态文件收集到该目录中。有关用法的更多详细信息,请参见有关管理静态文件的方法。

  • STATICFILES_DIRS是Django将在其中搜索安装的每个应用程序的static文件夹之外的其他静态文件的文件夹列表。

      

    此设置定义了启用FileSystemFinder查找程序时staticfiles应用将遍历的其他位置,例如如果您使用collectstaticfindstatic管理命令或使用静态文件服务视图。

在设置中,您应该具有:

MEDIA_ROOT = os.path.join(BASE_DIR, "media/")

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),]

...其中:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

现在在默认Django settings.py中定义。