我无法显示url类型的图片。 我在product.html中写道
<body>
{% for product in products.all %}
<h4> {{ product.product_title }}</h4>
<img src="{% static product.image }} %}"/>
<p> {{ product.body }} </p>
{% endfor %}
</body>
在models.py
中class Product(models.Model):
product_title = models.CharField(max_length=250)
image = models.TextField()
body = models.TextField()
在views.py中
def product(request):
products = Product.objects.order_by('product_title')
return render(request, 'registration/product.html',{'products':products})
在管理网站上,我添加了product_title&amp; image&amp; body。 图片的网址是
<a href="https://xxxxxx" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://wwwyyyyyyyyyyyy"></a>
<img border="0" width="1" height="1" src="https://wwwzzzzzzzzzz" alt="">
使用Google控制台,无法加载资源:状态为404(未找到)的服务器位于控制台中。 在Elements中,img标签就像
<img src="/static/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww">
我怎样才能显示图像?我写错了img tag&amp; SRC?
答案 0 :(得分:2)
如果你想在Django中使用图片,你必须像这样配置你的应用程序:
第一步:静态与媒体
在settings.py
文件中,写下以下内容:
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join('path_to_your_Media_directory')
第二步:在模型中实施图像字段
在models.py文件中:
Image = models.ImageField(upload_to='upload_file_directory', null=True, blank=True, width_field=None, height_field=None, default=" ")
第三步:处理视图中的图片
在views.py文件中(别忘了request.FILES or None
!):
if request.method == 'POST':
form = 'YourForm'(request.POST or None, request.FILES or None)
if form.is_valid() :
post = form.save()
在您的模板中,不要忘记表单类中的enctype="multipart/form-data"
第四步:在模板中调用您的图片
{% if 'your_image_exist' %}
<img src='{{Model.Image.url}}' height="300" width="400"/>
{% endif %}
这是一个全局范例,但你必须设置所有这些东西才能用Django处理图片! 祝你好运
答案 1 :(得分:1)
您的图片不是静态文件。由于它的文本字段及其内容是一个URL,因此您只需将值放在src属性中。无需使用静态标签。
试试这个:
<img src="{{ product.image }}"/>