0

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

网址.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" />

4

2 回答 2

0

我建议让 Django 提供图像,STATIC_URL而不是MEDIA_URL.

阅读Django 文档

这很简单:

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

阅读文档,但有重要的理由说明原因。

于 2013-04-12T13:55:49.023 回答
0

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

于 2019-02-16T01:18:02.943 回答