【发布时间】:2015-03-23 19:54:43
【问题描述】:
请告诉我。为什么../static/image.jpg 显示图片,而../media/image.jpg 现在显示
需要写网址吗?需要更改设置?我不喜欢文档中的答案。
请帮忙。
2 晚搜索答案。
需要从管理面板上传照片并在模板中显示。
<img src="{{ tovar.product_img.url }}">
【问题讨论】:
标签: python django django-media
请告诉我。为什么../static/image.jpg 显示图片,而../media/image.jpg 现在显示
需要写网址吗?需要更改设置?我不喜欢文档中的答案。
请帮忙。
2 晚搜索答案。
需要从管理面板上传照片并在模板中显示。
<img src="{{ tovar.product_img.url }}">
【问题讨论】:
标签: python django django-media
要显示图像,您需要先在模板中加载静态文件,然后再引用它们。这就是您应该在模板中显示图片的方式:
{% load staticfiles %}
<img src="{% static 'image.jpg' %}">
此图像需要存储在您的静态文件夹中。 ../YourApp/YourApp/static/image.jpg 是我保存静态文件夹的地方。显然,最好在静态文件夹等中使用 images 文件夹进一步构建它。
在您的设置文件中,您需要以下几行:
# Static asset configuration
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
这应该对你有用。
【讨论】:
在settings.py
MEDIA_ROOT = '/path/to/yourmediafolder/'
MEDIA_URL = '/media/' # whatever but it should same in `urls.py`
在urls.py
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
然后在template
<img src="{{ MEDIA_URL }}images/imagename.jpg"/>
注意:这里的image应该是'/path/to/yourmediafolder/images/imagename.jpg'
完整示例:
我有一张图片test.jpg 为'/home/me/test.jpg
MEDIA_ROOT = '/home/' # or /home/me/ but change url in image src
MEDIA_URL = '/media/'
#urls.py same as above
在template
<img src="{{ MEDIA_URL }}me/test.jpg"/> # or <img src="{{ MEDIA_URL }}test.jpg"/> as or condition above in MEDIA_ROOT.
注意 {{ MEDIA_URL }}me ,它们之间没有/ 因为MEDIA_URL='/media/
您可以通过以下方式进行测试:
http://domain.com/media/me/test.jpg # or http://domain.com/media/test.jpg as OR condition in MEDIA_ROOT
在本地:
http://localhost:8000/media/me/test.jpg #in locally
【讨论】:
env。将 abs 路径设置为 /var/myimages/
这有效(在 html img 标签中): src="(left squiggly, percent) static poc.image.name (percent, right squiggly):
...感谢指出 ImageField 除了(无用)路径和(无用)url 之外还有名称的人,例如:
>>> from nutr.models import *
>>> poc=POC.objects.get(pk=87)
>>> poc.name
“埃德加”
【讨论】:
在Django==2.0.2 中使用{% get_media_prefix %}
来自docs
【讨论】: