关于django的调用本地图片路径问题。

各位大虾好,小虾做了一个django运维平台,但是在做到login这个界面的时候发现了一个问题。

我现在做的页面效果是这样:
图片描述

但是由于这个运维平台里面的资料都是公司服务器资料,所以决定这个机器将来是要不开外网的,这样的话这个大飞机的背景就会失效变成一个白色背景,于是我把这个背景图片down下来传到了这个django所在的服务器里,打算服务器内部直接调用。

但是现在这个大飞机图片,我不知道该放到那个文件夹里,source里的这个login文件夹我根本没有建立过,我只是在view.ps里建立了一个login的函数,然后就是在project里的url.py里指定了login,代码如下(Online是我的app名字):

from django.conf.urls import url,include
from django.contrib import admin
import Online.views
admin.autodiscover()
from Online import views as Online_views

urlpatterns = [
    url(r'^admin/',admin.site.urls),
    url(r'^login/',include('Online.urls')),
    ]
from django.conf.urls import url
from Online import views
urlpatterns = [
    url(r'^$', views.login, name='login'),
]

现在这个背景我down下来并且起名叫plane.jpg,然后把html的body部分改成:

body{
    width: 100%;
    height: 100%;
    font-family: 'Open Sans',sans-serif;
    margin: 0;
    background:url("plane.jpg")no-repeat 0 center;
}

但是刷新的时候,是白色背景,然后提示是:

Not Found: /login/plane.jpg
[27/Jul/2017 09:06:13] "GET /login/plane.jpg HTTP/1.1" 404 2528

请问这个背景我应该放在跟谁一个目录里才能达到直接内部调用的效果呢?

阅读 12.1k
5 个回答

/static/images/

新手上路,请多包涵

同问,能不能放在app/templates/image里面。。。这种图片一定要放到static里面吗

放到static里,然后模板加载标签参数是图片地址就好了。

您好,我今天也遇到了这个问题,我的是在css中引入了图片:(css中似乎无法识别{% %}形式的python代码)
clipboard.png
最开始的时候它默认写的是../images/header.jpg
我不管怎么样更改都无法成功引用(加入静态static等等)
后来我从报错信息入手:(这时我已经将其改成了../header.jpg)

clipboard.png
报错误是找不到css文件夹下的images的header.jpg文件,而我的目录结构根本不是这样:
clipboard.png
于是我在css目录下创建了images文件夹,并把图片放入文件夹里,这时就可以正确显示了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题