社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

AmagicalFishy • 5 年前 • 2231 次点击  

我有一个名为 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
 
2231 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Bidhan Majhi
Reply   •   1 楼
Bidhan Majhi    6 年前

在你的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。

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