图像没有显示在HTML模板Django python上

时间:2013-04-12 13:38:02

标签: html django python-2.7

我有一个模板,它有一个图像源,每次我运行我的html文件图像不显示,我尝试了一些例子,但没有成功,我已经设置了url.py,settings.py和html文件。我是Django的新手。

URL.py

from django.conf.urls.defaults import *
from rulebase.rulesapp.views import myview
import settings

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^rulebase/', include('rulebase.foo.urls')),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
    (r'^myview/$', myview),
    (r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}), 
)

设置文件

 MEDIA_ROOT = '/home/user/dev/Django/rulebase/media/'

    MEDIA_URL = 'http://127.0.0.1:8080/media/'

    ADMIN_MEDIA_PREFIX = '/media/'

HTML <img src="{{ MEDIA_URL }}logo-on-trans.png" width="448" height="255" />

2 个答案:

答案 0 :(得分:0)

我建议让Django的STATIC_URL而不是MEDIA_URL提供图像。

阅读Django Docs

这很简单:

  • STATIC_ROOT = ''
  • STATIC_URL = '/media/'
  • STATICFILES_DIRS = ('/home/user/dev/Django/rulebase/media/',)
  • 删除'^media/...'(不再需要它)
  • 的网址格式
  • 将HTML行更改为<img src="{{ STATIC_URL }}logo-on-trans.png" width="448" height="255" />,并且假设该文件位于您声明的目录中,则应使用HTML提供该文件。

阅读文档,但为什么会有重要的理由。

答案 1 :(得分:0)

从主网址文件中删除并尝试索引网址, 因此以这种方式使用的网址url('',view = index), 两个引号网址之间为空,删除