Py学习  »  Django

Django静态文件在调试时未找到,根据DOCS的所有设置都是正确的

AmagicalFishy • 4 年前 • 1332 次点击  

我有一个名为 static 包含各种CSS、图像和JavaScript文件。我的设置文件包含:

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

INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
]

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = '/static/' # I've tried with and w/o this
STATICFILE_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

我的 urls.py 文件包含: 从django.conf导入设置 静态导入静态

urlpatterns = [
...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

我已经打印出来了 BASE_DIR 它指向正确的目录。但是,当我加载我的网页时,我会收到以下错误:

Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/static/css/style.css

该文件存在,并且正好存在于Django试图访问的位置。不过,这些文件还是找不到。我有点小心翼翼,文件没有我已经做过的信息,我四处寻找。 小时 .所有已经回答的问题 STATICFILE_DIRS 是的。 This 例如,问题指出 DEBUG = True 一个人不用跑 collectstatic 使用 静态文件目录 应该够了。

编辑: 该死的。它是 STATICFILES_DIRS 而不是 静态文件目录 是的。那是我的问题。--

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46396
 
1332 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Bidhan Majhi
Reply   •   1 楼
Bidhan Majhi    5 年前

在你的urlpatterns中,你有,

urlpatterns = [
  ...
]  + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这意味着静态URL必须是路径,静态根是目录,但是在您的Stest.Py中,静态根被设置为“/static /”,这是错误的。

这是你能做的,

  1. 从urlpatterns中同时删除静态根目录、静态文件目录和 + static(...) 是的。并在模板中添加负载静态,这将正确工作。

  2. 添加StasyOrthOrth.OS.Puto.Soin(BaseIddir,static) StasyTURLUR=

    然后添加 +静态(…) 加入urlpatterns。

尽管你不需要做第二个。第一个可以用。