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
答案 0 :(得分:3)
运行./manage.py collectstatic
这应该会提取所有新的静态文件。这也将告诉您STATIC_ROOT和STATIC_URL是否设置正确。