zoukankan      html  css  js  c++  java
  • 如何使用django显示一张图片

      django显示图片对新手来说真的算是一个坑。。

      这里记录下小白爬坑的历程。

      首先,你需要一个可以运行的django服务器,能显示正常的html文本,无法显示图片

      这是html的文本,可以显示文字,无法显示图片

    <h1>An Image Test</h1>
    <img src="medias/1.jpg">

      首先,在网上搜到的办法,搜到了几个复杂的设置方法,结果都失败了。

      有一个类较为简单,可以试一试

      大概是这样的:

      在 django 中不像PHP那样有根目录的概念 而取而代之的是包的概念, 通过URLS.PY 来提供每个URL 对应的DJANGO的 函数来显示页面 
      在包的 temolates目录中 的html页面里面 是不能直接写图片 或者 CSS JS 文件的 相对|绝对 路径的 , 而是用 URLS 提供的URL对应 图片/js/css 目录的 

      调用方法如下: 

    url(r'^medias/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/web/www/python/templates/images'}), 
    
    r
    '^medias/(?P<path>.*)$' # 是要 展示url的 方法/文件名 {'document_root':'/web/www/python/templates/images'} # 是要 提供 图片目录的真实路径



      这样 就能用 <img src="/medias/images.gif" /> 调用 图片了

      一切都完成了,结果报错???

      (r'^medias/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/web/www/python/templates/images'}), 中django报错

      说是'django.views.static.serve'调用有问题,

      改成url(r'^medias/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/web/www/python/templates/images'}),也有问题,出现 TypeError: view must be a callable or a list/tuple in the case of include().

      后来发现(r'^medias/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/web/www/python/templates/images'})估计是老版本django的调用方法,在新版本djago中改用url(“”,)来调用,将'django.views.static.serve' 改成import的方式:

    from django.views.static import serve
    
    url(r'^medias/(?P<path>.*)$', serve, {'document_root': '真实文件的目录/static/images'}), 

      打开浏览器

      直接访问图片地址:

       也没问题,大功告成,哈哈

  • 相关阅读:
    java容器
    利用java mail发送邮件
    利用java mail发送邮件
    hbase java API跟新数据,创建表
    hbase java API跟新数据,创建表
    利用httpclient和mysql模拟搜索引擎
    利用httpclient和mysql模拟搜索引擎
    HBase 官方文档
    HBase 官方文档
    安装yum
  • 原文地址:https://www.cnblogs.com/Undo-self-blog/p/7904812.html
Copyright © 2011-2022 走看看