2

我对 Django 很陌生....经过数小时的战斗,我设法在虚拟环境中安装了 django cms。创建一些模板并将一些页面添加到我的 cms。现在我正在尝试添加一些 css ......并且我已经创建了一个带有内部 css 文件夹和我的 style.css 的静态文件夹。但似乎我的 cms 没有看到静态文件夹,如果我尝试去,我有一个 404 错误:8000/static/css/style.css 在我的 setting.py 我有这个

STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = "/static/" 

不知道出了什么问题请帮忙

4

3 回答 3

4

您应该通过在 urls.py 中添加以下两行来启用静态资源的 URL 映射:

# redirects to static media files (css, javascript, images, etc.)
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'static/'}),

更新1: 检查您的项目目录是否可以被其他用户访问。chmod -R 755可能会有所帮助。


更新 2: 确保以下行在 settings.py

# List of finder classes that know how to find static files in various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

更新3: 我检查了settings.py我的项目,名为webui

STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    'webui/static',
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
于 2013-05-26T01:50:43.073 回答
2

我一直在尝试将 django-cms 集成到现有的 Digital Ocean Django 安装中,但遇到了同样的问题。虽然我能够为其他所有内容提供静态文件,但由于某种原因,我的 django-cms 文件一直返回 404。我检查了 settings.py 和权限,但运气不佳。

在运行 Nginx 和 Gnicion 的 Ubuntu 14.04 上

我编辑了

sudo nano /etc/nginx/sites-enabled/django

我添加了以下代码块

location /static/cms {
    alias /usr/local/lib/python2.7/dist-packages/cms/static/cms/;
}

然后我重新启动了 Nginx 和 Gunicorn

sudo service nginx restart && sudo service gunicorn restart

我能够看到所有丢失的静态文件

于 2015-05-01T15:45:49.753 回答
1

我有同样的问题。最终帮助我的是将静态文件移动到自定义应用程序的“静态”文件夹中。

于 2014-01-07T16:03:26.980 回答