Django Templating - 背景图片Jinja

时间:2017-09-06 17:03:17

标签: html css django jinja2

我无法在我的网站上显示我的背景图片。我把背景图片放在我的style.css中并将其链接到"<风格>背景:< /风格>&#34 ;.

我将{%load staticfiles%}放在样式上方,但我很确定这是错误的。

我已经检查了我的设置,并且STATIC_URL设置为 STATIC_URL =' / static /'

这是我的css

的style.css

body {
    background:slategray url("/personal/static/personal/images/background.gif")no-repeat right bottom;
}

这是我的HTML代码

<!DOCTYPE html>
<html lang="en">
  <head>
      <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Mr. Hart</title>


      <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

      <div class="row">
        <div class="col-md-8">
            <a href='/' style="display: inline-block; text-decoration-color: #1a8002;">Home</a>
            <a href='/blog/' style="display: inline-block; text-decoration-color: green;"> Blog </a>
            <a href='/Aboutme/' style="display: inline-block; text-decoration-color: green;"> About Me </a>
            <a href='/stocks/' style="display: inline-block; text-decoration-color: green;"> My stock Tips </a>
            <a href='/crypto/' style="display: inline-block; text-decoration-color: green;"> Crypto </a>
        </div>
        <div class="col-md-4">"This is where my contacts stack,github, stocktwits, twitter, all picture links "</div>
      </div>

      {% load staticfiles %}
      <style type="text/css">
        html,
        body {
          background: url("{% static "/personal/style.css" %}") no-repeat center center fixed;
          -webkit-background-size: cover;
            -moz-background-size: cover;
            -o-background-size: cover;
            background-size: cover;
        }
    </style>
  </head>

1 个答案:

答案 0 :(得分:0)

我认为由于斜杠,它找不到静态文件。

让我们尝试使用我们知道存在的静态文件:

$ ./manage.py findstatic admin/js/vendor/jquery/jquery.js
Found 'admin/js/vendor/jquery/jquery.js' here:
  /home/jpic/.local/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js

但是使用前缀斜杠:

$ ./manage.py findstatic /admin/js/vendor/jquery/jquery.js
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/management/base.py", line 548, in handle
    label_output = self.handle_label(label, **options)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/findstatic.py", line 22, in handle_label
    result = finders.find(path, all=options['all'])
  File "/home/jpic/.local/lib/python3.6/site-packages/django/contrib/staticfiles/finders.py", line 250, in find
    result = finder.find(path, all=all)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/contrib/staticfiles/finders.py", line 160, in find
    match = self.find_in_app(app, path)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/contrib/staticfiles/finders.py", line 174, in find_in_app
    if storage.exists(path):
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/files/storage.py", line 294, in exists
    return os.path.exists(self.path(name))
  File "/home/jpic/.local/lib/python3.6/site-packages/django/core/files/storage.py", line 307, in path
    return safe_join(self.location, name)
  File "/home/jpic/.local/lib/python3.6/site-packages/django/utils/_os.py", line 78, in safe_join
    'component ({})'.format(final_path, base_path))
django.core.exceptions.SuspiciousFileOperation: The joined path (/admin/js/vendor/jquery/jquery.js) is located outside of the base path component (/home/jpic/src/django-autocomplete-light/test_project/linked_data/static)

请参阅官方文档和一些博客文章: