0

当我尝试运行我的本地主机服务器时,我收到以下错误:

FileNotFoundError: [Errno 2] No such file or directory: '/static/CSV/ExtractedTweets.csv'

这个错误是由于线的线

with open(staticfiles_storage.url('/CSV/ExtractedTweets.csv'), 'r', newline='', encoding="utf8") as csvfile:

这行代码可以在我的 app 文件夹中的自定义 python 模块中找到。我的项目根文件夹、我的应用程序文件夹以及包含我的项目根目录和应用程序文件夹的文件夹中有 /static/CSV/ExtractedTweets.csv 的副本。我的 app 文件夹中还有一份 ExtractedTweets.csv 的附加副本。

设置.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

网址.py

from django.conf import settings

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

我已将文件放在所有可能的位置,但 django 似乎找不到它。有趣的是,我的模板可以毫无问题地找到我的静态 CSS 文件。如果有人知道如何解决此错误,请告诉我。

4

2 回答 2

0

我从未找到获取静态文件路径的解决方案,但是 find() 函数似乎是一种替代解决方案。

自定义模块.py

from django.contrib.staticfiles.finders import find

with open(find('CSV/ExtractedTweets.csv'), 'r', newline='', encoding="utf8") as csvfile:

于 2021-05-12T13:07:41.013 回答
-1

如果您不打算部署此项目,您可以添加:

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

或者您可以尝试添加:

STATICFILES_DIRS = [
    BASE_DIR / "static",
]

到你的setting.py

于 2021-05-12T12:28:13.067 回答