移动静态文件夹时出现问题
我在将 django 应用程序上传到 dotcloud 时遇到问题。我使用下面的代码将 django 的管理面板静态文件更改为 /static/admin_media,但在部署时出现以下错误:
2011-08-14 13:22:35 [www.0] Traceback (most recent call last):
2011-08-14 13:22:35 [www.0] File "./postinstall", line 23, in <module>
2011-08-14 13:22:35 [www.0] os.symlink(mediadir, staticlink)
2011-08-14 13:22:35 [www.0] OSError: [Errno 2] No such file or directory
和代码:
import os
# To import anything under django.*, we must set this variable.
os.environ['DJANGO_SETTINGS_MODULE'] = 'kalvin.settings'
# Import the admin module. The media directory is right under it!
import django.contrib.admin
# Retrieve the absolute path of the admin module.
admindir = os.path.dirname(django.contrib.admin.__file__)
# Add /media behind it.
mediadir = os.path.join(admindir, 'media')
# Compute the path of the symlink under the static directory.
staticlink = os.path.join('static', 'admin_media')
# If the link already exists, delete it.
if os.path.islink(staticlink):
os.unlink(staticlink)
# Install the correct link.
os.symlink(mediadir, staticlink)
I have a problem with uploading a django app to dotcloud. I'm using the code below to change django's admin panel static files to /static/admin_media, but it gives me the following error when deploying:
2011-08-14 13:22:35 [www.0] Traceback (most recent call last):
2011-08-14 13:22:35 [www.0] File "./postinstall", line 23, in <module>
2011-08-14 13:22:35 [www.0] os.symlink(mediadir, staticlink)
2011-08-14 13:22:35 [www.0] OSError: [Errno 2] No such file or directory
and the code:
import os
# To import anything under django.*, we must set this variable.
os.environ['DJANGO_SETTINGS_MODULE'] = 'kalvin.settings'
# Import the admin module. The media directory is right under it!
import django.contrib.admin
# Retrieve the absolute path of the admin module.
admindir = os.path.dirname(django.contrib.admin.__file__)
# Add /media behind it.
mediadir = os.path.join(admindir, 'media')
# Compute the path of the symlink under the static directory.
staticlink = os.path.join('static', 'admin_media')
# If the link already exists, delete it.
if os.path.islink(staticlink):
os.unlink(staticlink)
# Install the correct link.
os.symlink(mediadir, staticlink)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决方案是这个答案。
我需要一个名为
static
的空文件夹,但 git 没有将其传输到服务器,因为它是空的。在文件夹内创建 .gitignore 解决了问题。
The solution is this answer.
I needed an empty folder named
static
, but git didn't transfer it to the server because it was empty.Creating
.gitignore
inside the folder fixed the problem.