更新 我的文件夹结构如下:运行manage.py collectstatic coomand后,django的静态文件复制到我的项目文件夹如下,然后我把我的logo.png放到它的img/
mysite_new/
manage.py
mysite/
------ __init__.py
urls.py
setting.py
wsgi.py
templates/
default.html
static/
img/
logo.png
.....
ticket/
------__init__.py
models.py
view.py
urls.py
......
在setting.py中,我设置
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_URL = ''
MEDIA_ROOT = ''
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_PATH,'static')
STATICFILES_DIRS = (
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
在 mysite/urls.py 我设置
urlpatterns = patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^hello/', hello),
url(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT },name="media"),
)
默认.html
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>staitc sample</title>
</head>
<body>
<img src="{{ STATIC_URL }}img/logo.png"" alt="hahhaa">
</body>
</html>
在票证/view.py
def hello(request):
return render_to_response( 'admin/default.html')
然后在网络浏览器中,在 input 中http://127.0.0.1:8000/hello
,它显示
然后我从“hahhaa”加载图像,它链接到
没有显示图片,所以可能是图片路径不正确,图片没有加载成功。谁能帮我在我的 hello 方法 view.py 中显示图片?这个问题让我困惑了很长时间,提前感谢您的帮助。我的 django 版本是 1.4。
我已经找到解决办法了,不需要移动我的静态文件夹,只要和ticket/保持同一级别,然后在setting.py中添加ADMIN_MEDIA_PREFIX = '/static/admin/'