静态文件:Django 1.4中没有此文件或目录错误

2 投票
1 回答
3293 浏览
提问于 2025-04-17 19:00

我在本地用 Django 开发服务器创建了一个应用,现在想把它放到网上去。

我把所有东西都上传并安装在一个运行 Python 2.7、Django 1.4.5 和 flup 的服务器上。一切都运行得很好,直到我尝试使用任何静态文件。我的网站在尝试打开一个文本文件时显示:“没有这样的文件或目录”,尽管那个文件确实在那个文件夹里。

更奇怪的是,服务器管理员告诉我,他的日志显示网站根本没有在它所说的目录中查找,所以错误信息其实是在“撒谎”,并没有在它说的路径中搜索。

现在我想托管我的程序,有没有什么我需要特别注意的?在开发服务器上运行得很好,但即使我在 settings.py 中尝试了所有我能想到的路径组合,它还是不工作。

我该如何让 Django 在生产服务器上提供静态文件呢?

编辑:

当我尝试访问 http://ulli.cepheus.uberspace.de/fcgi-bin/mysite/polls/4/

我收到以下错误信息,但如果你查看那个链接,文本文件显然是存在的。

IOError at /polls/4/

[Errno 2] 没有这样的文件或目录: 'http://ulli.cepheus.uberspace.de/static/m.txt'

Stack Overflow 不让我发布我的 settings.py 或其他内容,因为里面有太多链接……我该怎么给你看呢?

1 个回答

1

你试过运行下面这个命令吗?

python manage.py collectstatic -l

关于静态文件应用的更多信息可以在这里找到

如果没有更多的信息,我们能做的就是给你一个链接,让你去看看文档,然后告诉我们你尝试过什么,没尝试过什么。如果其他设置都没问题,运行我给你的这个命令应该能解决你问题的某个具体原因。

撰写回答