0

Pls tell me. Why ../static/image.jpg show images, and ../media/image.jpg now show

Need write url? Need change Setting? i dont fiend answer in documentation.

pls help.

2 night search answer.

Need upload from admin-panel photo and show in templates.

<img src="{{ tovar.product_img.url }}">
4

4 回答 4

2

要显示图像,您需要在引用它们之前在模板中加载静态文件。这是您应该在模板中显示图片的方式:

{% load staticfiles %}

<img src="{% static 'image.jpg' %}">

此图像需要存储在您的静态文件夹中。../YourApp/YourApp/static/image.jpg是我保存静态文件夹的地方。显然,最好使用静态文件夹中的图像文件夹等进一步构建它。

在您的设置文件中,您需要以下几行:

# 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'),
)

这应该为您解决问题。

于 2015-03-23T20:09:10.870 回答
0

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
于 2015-03-23T20:13:10.097 回答
0

Django==2.0.2使用中{% get_media_prefix %}

文档

于 2018-03-26T18:49:49.290 回答
0

这有效(在 html img 标签中): src="(left squiggly, percent) static poc.image.name (percent, right squiggly):

...感谢指出 ImageField 除了(无用的)路径和(无用的)网址之外还有一个名称的人,例如:

>>> from nutr.models import *
>>> poc=POC.objects.get(pk=87)
>>> poc.name

'埃德加'

于 2017-06-21T22:59:36.830 回答