Python 在Django的基础模板中设置背景图像
这是我的Django项目的结构-Python 在Django的基础模板中设置背景图像,python,django,Python,Django,这是我的Django项目的结构- src/ login_manager/ migrations/ .... __init__.py admin.py apps.py models.py views.py tests.py urls.py port/ __init__.py settings.py
src/
login_manager/
migrations/
....
__init__.py
admin.py
apps.py
models.py
views.py
tests.py
urls.py
port/
__init__.py
settings.py
urls.py
wsgi.py
static/
admin/
.....
templates/
login_manager/
login.html
.....
__base.html
media/
image/
containers.jpg
manage.py
requirements.txt
这里,我的项目的名称是端口。在这个项目下有一个名为“登录管理器”的应用程序。我正在尝试为\uu base.html模板添加背景图像。但出于某些原因,它正在失败
这是我的\uu base.html-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GPSL Inventory Management</title>
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!--styles-->
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/yeti/bootstrap.min.css">
<style type="text/css">
body {
background: url('{{ MEDIA_URL }}image/containers.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.panel-default {
opacity: 0.9;
margin-top:30px;
}
.form-group.last {
margin-bottom:0px;
}
.container{
margin: 0 auto;
}
</style>
{% block extrahead %}
{% endblock %}
</head>
<body>
<div class="container">
{% block content %}
{% endblock %}
</div>
</body>
</html>
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
如何在父模板中生成背景图像
编辑1:图像是静态的。由于背景图像是静态文件,您应该使用静态url而不是媒体
{% load staticfiles %}
<style type="text/css">
body {
background: url('{% static "image/containers.jpg" %}') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
</style>
{%load staticfiles%}
正文{
背景:url(“{%static”image/containers.jpg“%}”)没有固定的重复中心;
-webkit背景尺寸:封面;
-moz背景尺寸:封面;
-o-背景尺寸:封面;
背景尺寸:封面;
}
你可以在相关的网站上了解更多
中的静态文件也有很好的参考
除了服务器生成的HTML之外,web应用程序通常还需要提供呈现完整网页所需的其他文件,如图像、JavaScript或CSS。在Django中,我们将这些文件称为“静态文件”
为了正确地设置静态服务,需要格外小心,但是文档非常清楚,而且还有很多相关的问题
另一方面,媒体url与用户上传的文件有关,正如您在本文中所读到的。此背景图像,是用户上传的还是静态的?@Wtower…它是静态的。@ni8mr如果图像是静态的,则将其保存在
静态的
目录中更为合理。总之,我应该在剩余的静态文件夹中创建一个名为image的文件夹,并将背景图像放在其中?然后,遵循你的代码?我之前试过了,但是我没有在背景中获得我的图像。是的,请注意,您需要正确设置静态文件。谢谢。我现在正试图通过以下方式设置静态文件-。几分钟后我会回来。@Wtower…..还有一个问题,在每个应用程序中创建静态文件夹是一种好的做法,还是我应该为所有静态文件保留一个通用文件夹?@ni8mr欢迎您。以某种合理的方式管理静态文件是一种很好的做法。请记住,静态文件夹的工作方式与模板不同,因此请避免在不同的应用程序中覆盖同名文件,否则您会在collectstatic
中遇到令人不快的惊喜。