在Windows主机内的虚拟机guest上运行Debian。为适配器类型设置桥接。在客户机上安装了Django,并使用内置runserver
和内置数据库进行测试。
具有简单的文件结构:
> ..
> templates
> base.html
> static
> css
> base.css
> manage.py
> setting.py
> ..
文件settings.py
:
STATIC_URL = '/static/'
文件base.html
:
{% load static %}
...
<link rel="stylesheet" href="{% static 'css/base.css' %}">
获取错误,未找到:
GET http://192.168.XX.XX:8000/static/css/base.css
settings.py
中的Debug
设置为true(表示应保存静态文件)。链接看起来是正确的。为什么这不管用?
编辑:看起来我忘记运行“collectstatic”。下面是运行后的输出:
编辑2:
EXTERNAL_APPS = [
..
'django.contrib.staticfiles',
]
PROJECT_NAME = 'fooproject'
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, PROJECT_NAME, 'staticfiles')
STATIC_URL = '/static/'
我在克里斯托夫布劳斯和丹尼尔罗斯曼的帮助下设法解决了我的问题。有两个问题:
python manage.py collectstatic
。STATIC_ROOT
和STATICFILES_DIRS
。在将这些变量添加到
settings.py
文件并成功运行collectstatic
之后,一切正常。注:一个人应该更仔细地阅读Django文档。我说得不够清楚,
collectstatic
是强制性的。当
DEBUG
设置为True
时,collectstatic
和STATIC_ROOT
一起编辑:是非强制的。我试图删除staticfiles
和STATIC_ROOT
-但它仍然在我的开发环境中工作。所以STATICFILES_DIRS
是缺少的设置。相关问题 更多 >
编程相关推荐