django拒绝识别静态文件夹?

时间:2014-07-30 02:52:31

标签: django mezzanine

UPDATE - 正在正确读取静态文件夹。如果我制作了一个test.css文件,然后尝试转到http://myserver:8000/static/css/test.css,它会接收它。

问题是当我尝试将新的bootstrap.css放入该文件夹时。它忽略了我有一个自定义的,而是使用python2.7 / dist / mezzanine / ....文件夹中的那个。我收集模板时,模板不会出现此问题。 base.html是自定义的,它使用我的而不是默认的存储副本,所以为什么它不使用静态文件呢?

我尝试了很多不同的stackoverflow和google示例,但它似乎开箱即用我的django / mezzanine应用程序并不想识别我正在使用的静态文件。

我的静态文件位于' / opt / myproject / static /'

settings.py

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/"))
STATIC_DIRS = (os.path.join(PROJECT_ROOT, "static"),)

我注意到即使对路径进行硬编码也无济于事 -

STATIC_ROOT = "/opt/myproject/static/"
STATIC_DIRS = ("/opt/myproject/static",)

base.html是Mezzanine的默认设置,所以这就是它寻找静态文件的方式 -

<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">

如果我将位置硬编码到css,则无法找到文件 -

<link rel="stylesheet" href="/opt/myproject/static/css/bootstrap.css">

我不知道为什么它除了夹层主文件夹之外没有拿起静态文件。如果我做一个findstatic它永远不会找到我的文件夹默认 -

python manage.py findstatic css/bootstrap.css
Found 'css/bootstrap.css' here:
  /usr/local/lib/python2.7/dist-packages/mezzanine/core/static/css/bootstrap.css

我做错了什么?

编辑以包括我有DEBUG = True

我已经完成了urls.py技巧 -

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

我也做了python manage.py runserver --unsecure

1 个答案:

答案 0 :(得分:3)

运行./manage.py collectstatic这应该会提取所有新的静态文件。这也将告诉您STATIC_ROOT和STATIC_URL是否设置正确。