在Django的基本模板中设置背景图片

ni8mr

这是我的Django项目的结构-

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

在这里,我的项目名称为port在此项目下,有一个名为login_manager的应用程序我正在尝试为__base.html模板添加背景图像但是由于某些原因,它失败了。

这里是我的__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>

我已经在settings.py中注册了我的媒体网址,如下所示-

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

如何在父模板中生成背景图像?

编辑1:图像是静态的。

t

由于背景图片是静态文件,因此您应该使用静态网址,而不要使用媒体。

{% 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>

您可以在相关的Django文档中了解有关此内容的更多信息:管理静态文件

Django教程中的静态文件也有很好的参考

除了服务器生成的HTML外,Web应用程序通常还需要提供其他文件(例如图像,JavaScript或CSS),这些文件是呈现整个Web页面所必需的。在Django中,我们将这些文件称为“静态文件”。

为了正确设置静态服务,需要多加注意,但是文档非常清楚,因此还有很多相关问题。

另一方面,您可以在此相关文档中阅读,媒体URL涉及用户上传的文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章