【问题标题】:page not found when serving static files via django通过 django 提供静态文件时找不到页面
【发布时间】:2017-06-30 03:08:18
【问题描述】:

所以在 settings.py 我有

STATIC_URL = '/static/'

还有

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp.apps.MyappConfig'
]

因此你可以看到 django.contrib.staticfiles 在那里,而且 Debug = True

在我的应用程序目录中,我有一个文件存在于该路径中

myapp/static/css/myapp.css

但是,当我去http://localhost/myapp/static/css/myapp.css

它最终返回

Page not found (404)
Request Method:     GET

我做错了什么,如何让 django 正确地提供静态文件?

【问题讨论】:

    标签: python django python-3.x file django-staticfiles


    【解决方案1】:

    将其包含在您的项目/urls.py 中

    from django.conf import settings
    
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    

    【讨论】:

      【解决方案2】:

      在您的设置中使用选项STATICFILES_DIRS

      一个例子:

      # settings.py
      ...
      STATICFILES_DIRS = [
          "/path/to/your/static/files/folder",
      ]
      ...
      

      在您的模板中,使用静态模板标签,如

      # some_page.html
      ...
      {% load static %}
      <img src="{% static "my_app/example.jpg" %}" alt="My image"/>
      ...
      

      或硬编码

      # some_page.html
      ...
      <img src="/static/my_app/example.jpg" alt="My image"/>
      ...
      

      【讨论】:

        猜你喜欢
        • 2011-01-27
        • 1970-01-01
        • 2011-10-20
        • 2021-07-08
        • 1970-01-01
        • 2022-01-07
        • 2014-08-22
        • 2020-10-25
        相关资源
        最近更新 更多