4

我正在尝试在 Apache-Server 上运行全新的 Django 1.5 安装。WebServer 位于一个名为 uberspace.de 的共享托管平台上,这意味着我无法访问 Apache 配置本身,但是如果有任何帮助,我可以编写 .htaccess 文件。Django 是通过 fast-cgi 部署的,它按预期工作。

但是,无法访问服务器上的静态文件,例如 .css 文件和 Django 管理界面的图形。如官方文档中所述,我使用以下命令将静态文件复制到我的 ~/html/static 目录中。

manage.py 收集静态

这些是我的 settings.py 中的值:

STATIC_ROOT = '/home/bier/html/static/'
STATIC_URL = '/static/'

当我尝试访问这些文件中的任何一个时,我得到的只是臭名昭著的 django 404 页面。我还严格按照我的 Webhosters 网站上的“如何安装和部署 Django”指南进行操作。(抱歉,我相信它只有德语版本)我已经联系了网络托管服务商支持,但他们不知道出了什么问题。

到目前为止,我提出的所有解决方案都建议在 Apache 配置中设置某种别名。这是我做不到的。

我很感谢你可能有的任何想法。

4

2 回答 2

3

请尝试使用完整地址。

STATIC_ROOT = '/home/bier/html/static/'
STATIC_URL = 'http://www.mysite.com/static/'

编辑:也许您可以要求您的主机在您的 Apache 配置中设置 /static/ :

sudo nano /etc/apache2/sites-enabled/mysite.com并添加:

Alias /static/ /home/bier/html/static/

由于高度限制的主机(权限),我不得不手动上传 /static/ 文件之前,我遇到过这种情况。也许您需要将 django 的副本下载到您的桌面,然后手动将静态管理文件集上传到您的 /static/ 目录中?

最后,您是否将静态文件添加到您的网址中?

url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root': '/home/bier/html/static'}),
于 2013-03-10T20:42:29.717 回答
0

我有更简单的解决方案。您需要在“public_html”或服务器默认提供文件的类似位置创建一个名为“x”的目录。

然后上传目录 x 中的所有静态文件。(这可以通过在本地运行 collectstatic 然后将目录 STATIC_ROOT 的所有内容上传到 x 来完成)

然后,如下更改您的 STATIC_URL 和 STATIC_ROOT:

STATIC_URL = '/x/'
STATIC_ROOT = os.path.join(BASE_DIR, '../public_html/x') # Path to folder
于 2020-04-03T07:07:45.613 回答