我正在尝试从头开始构建我的第一个 Django 项目,并且在设置背景图像时遇到了困难。我一般是编程新手,如果这是一个愚蠢的问题,请原谅我。
我已经阅读了关于静态文件实现的文档和关于设置背景图像的各种堆栈溢出帖子(这里 和这里),但我仍然无法让它工作。
我有:
将 django.contrib.staticfiles 安装为已安装的应用程序。
将此添加到设置文件中:
TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.core.context_processors.static", "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages", )
将 Static_Root 和 Static_URL 文件分别设置为 STATIC_ROOT = '/Users/user_name/development/projects/ecollar_site/static/' 和 '/static/'
将此代码放在我的 URL 文件的末尾:
`if settings.DEBUG: urlpatterns += patterns('', (r'^/static/(?P<path>.*)$', 'django.views.static.serve', {'/ecollar_site/': settings.STATIC_ROOT, 'show_indexes' : True}), )`
跑了
python manage.py collectstatic
然后将这一行放在 CSS 文件中。
body{ font:16px/26px Helvetica, Helvetica Neue, Arial; background-image: url("{{ STATIC_URL }}img/IMG_0002.jpg"); }
我知道静态文件位正在工作,因为 CSS 已加载。我可以使用 background-color: blue 来改变背景颜色。但是静态图像根本没有被放置为背景图像。我在某个地方犯了菜鸟错误吗?