我无法显示网址类型为

时间:2017-10-11 07:21:46

标签: python html django

我无法显示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?

2 个答案:

答案 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 }}"/>