图像未显示在 Django 1.8 模板中
Image not displaying in Django 1.8 template
我想在名为 index
的 Django 应用程序中显示静态文件夹中的图像。但它在浏览器中显示图标,这意味着它无法在 <img src=""/>
中指定的路径中找到图像。这是我的目录结构:
|-- db.sqlite3
|-- images
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- wsgi.py
| `-- wsgi.pyc
|-- index
| |-- admin.py
| |-- admin.pyc
| |-- __init__.py
| |-- __init__.pyc
| |-- migrations
| | |-- __init__.py
| | `-- __init__.pyc
| |-- models.py
| |-- models.pyc
| |-- static
| | `-- index
| | `-- file2
| |-- templates
| | `-- show.html
| |-- tests.py
| |-- urls.py
| |-- urls.pyc
| |-- views.py
| `-- views.pyc
`-- manage.py
views.py
def show(request):
return render(request, 'show.html', {})
urls.py
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from index import views
urlpatterns = [
url(r'^show$', views.show),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
show.html
{% load staticfiles %}
<img src="{% static "index/file2" %}" alt="test_image"/>
我曾尝试遵循 this 但显然没有做到正确。任何帮助将不胜感激。
我设置了STATIC_ROOT = 'static'
,它现在在网页上显示图像。
经过多次尝试,最后我结合了Whosebug的答案得到了它。真的,这并不简单。呸!不过我很开心,也笑了。
我已经在 Windows 上使用 Apache 和 mod_wsgi (Xampp) 安装了 Django 1.8。 'vrsite' 是我的网站。 'vrapp' 是我的应用程序。最终显示的图像来自 vrsite> vrsite > vrapp > static > vrapp >23-oracle.jpg 我获取显示图像的步骤如下:
1、目录结构:
C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\manage.py <---root
vrsite
-- manage.py
-- static
--media
-- static_dirs
-- css
-- img
-- 23-oracle.jpg
-- js
-- static_root
-- admin
-- css
-- img
-- js
-- css
-- img
-- 23-oracle.jpg
-- vrapp
--23-oracle.jpg
-- vrsite
-- __init__.py
-- settings.py
-- urls.py
-- wsgi.py
-- vrapp
-- migrations
-- static
-- vrapp
-- 23-oracle.jpg
-- templates
-- index.html
-- __init.py__
-- admin.py
-- models.py
-- tests.py
-- views.py
2。 settings.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
INSTALLED_APPS = (
'django.contrib.staticfiles',
'vrsite.vrapp',
)
ROOT_URLCONF = 'vrsite.urls'
WSGI_APPLICATION = 'vrsite.wsgi.application'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root')
#STATIC_ROOT = 'static'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static', 'static_dirs'),
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')
MEDIA_URL = '/media/'
urls.py
从 django.conf.urls 导入模式,包括 url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^$', 'vrsite.vrapp.views.home'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
views.py
从django.shortcuts导入渲染
从django.shortcuts导入render_to_response
def home(request):
return render_to_response('index.html')
index.html
<正文>
{% load staticfiles %}
<img src="{% static "vrapp/23-oracle.jpg" %}" alt = "My image"/>
< /正文>
运行收集静态如下
(myvirtualwebenv27_1) C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite> C:...\myvirtualwebenv27_1\Scripts\python manage.py collectstatic
您已请求在目的地收集静态文件
在您的设置中指定的位置:
C:\...\myvirtualwebenv27_1\xampp\htdocs\vrsite\static\static_root
这将覆盖现有文件!
您确定要执行此操作吗?
键入 'yes' 继续,或键入 'no' 取消:是
正在复制 C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\vrsite\vrapp\static\vrapp\23-oracle.jpg'
1个静态文件复制到'C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\static\static_root',64未修改。
我想在名为 index
的 Django 应用程序中显示静态文件夹中的图像。但它在浏览器中显示图标,这意味着它无法在 <img src=""/>
中指定的路径中找到图像。这是我的目录结构:
|-- db.sqlite3
|-- images
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- wsgi.py
| `-- wsgi.pyc
|-- index
| |-- admin.py
| |-- admin.pyc
| |-- __init__.py
| |-- __init__.pyc
| |-- migrations
| | |-- __init__.py
| | `-- __init__.pyc
| |-- models.py
| |-- models.pyc
| |-- static
| | `-- index
| | `-- file2
| |-- templates
| | `-- show.html
| |-- tests.py
| |-- urls.py
| |-- urls.pyc
| |-- views.py
| `-- views.pyc
`-- manage.py
views.py
def show(request):
return render(request, 'show.html', {})
urls.py
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from index import views
urlpatterns = [
url(r'^show$', views.show),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
show.html
{% load staticfiles %}
<img src="{% static "index/file2" %}" alt="test_image"/>
我曾尝试遵循 this 但显然没有做到正确。任何帮助将不胜感激。
我设置了STATIC_ROOT = 'static'
,它现在在网页上显示图像。
经过多次尝试,最后我结合了Whosebug的答案得到了它。真的,这并不简单。呸!不过我很开心,也笑了。 我已经在 Windows 上使用 Apache 和 mod_wsgi (Xampp) 安装了 Django 1.8。 'vrsite' 是我的网站。 'vrapp' 是我的应用程序。最终显示的图像来自 vrsite> vrsite > vrapp > static > vrapp >23-oracle.jpg 我获取显示图像的步骤如下: 1、目录结构: C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\manage.py <---root
vrsite
-- manage.py
-- static
--media
-- static_dirs
-- css
-- img
-- 23-oracle.jpg
-- js
-- static_root
-- admin
-- css
-- img
-- js
-- css
-- img
-- 23-oracle.jpg
-- vrapp
--23-oracle.jpg
-- vrsite
-- __init__.py
-- settings.py
-- urls.py
-- wsgi.py
-- vrapp
-- migrations
-- static
-- vrapp
-- 23-oracle.jpg
-- templates
-- index.html
-- __init.py__
-- admin.py
-- models.py
-- tests.py
-- views.py
2。 settings.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
INSTALLED_APPS = (
'django.contrib.staticfiles',
'vrsite.vrapp',
)
ROOT_URLCONF = 'vrsite.urls'
WSGI_APPLICATION = 'vrsite.wsgi.application'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root')
#STATIC_ROOT = 'static'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static', 'static_dirs'),
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')
MEDIA_URL = '/media/'
urls.py
从 django.conf.urls 导入模式,包括 url
from django.contrib import admin from django.conf import settings from django.conf.urls.static import static urlpatterns = [ url(r'^$', 'vrsite.vrapp.views.home'), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
views.py
从django.shortcuts导入渲染
从django.shortcuts导入render_to_response
def home(request): return render_to_response('index.html')
index.html
<正文>
{% load staticfiles %}
<img src="{% static "vrapp/23-oracle.jpg" %}" alt = "My image"/>
< /正文>
运行收集静态如下
(myvirtualwebenv27_1) C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite> C:...\myvirtualwebenv27_1\Scripts\python manage.py collectstatic
您已请求在目的地收集静态文件 在您的设置中指定的位置:
C:\...\myvirtualwebenv27_1\xampp\htdocs\vrsite\static\static_root
这将覆盖现有文件! 您确定要执行此操作吗?
键入 'yes' 继续,或键入 'no' 取消:是 正在复制 C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\vrsite\vrapp\static\vrapp\23-oracle.jpg'
1个静态文件复制到'C:...\myvirtualwebenv27_1\xampp\htdocs\vrsite\static\static_root',64未修改。