Python 我无法显示url类型的图像
我无法显示url类型的图像。 我用product.html写的Python 我无法显示url类型的图像,python,html,django,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 %} </b
<body>
{% for product in products.all %}
<h4> {{ product.product_title }}</h4>
<img src="{% static product.image }} %}"/>
<p> {{ product.body }} </p>
{% endfor %}
</body>
in views.py
def product(request):
products = Product.objects.order_by('product_title')
return render(request, 'registration/product.html',{'products':products})
从管理站点,我添加了产品标题、图片和正文。
图像的URL是
<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(未找到)的状态响应在控制台中。
在元素中,img标记类似于
<img src="/static/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww">
如何显示图像?我写img tag&src的方式错了吗?您的图像不是静态文件。因为它是一个文本字段,而它的内容是一个url,所以您只需将该值放入src属性中。不需要使用静态标记 试试这个:
<img src="{{ product.image }}"/>
您的图像不是静态文件。因为它是一个文本字段,而它的内容是一个url,所以您只需将该值放入src属性中。不需要使用静态标记 试试这个:
<img src="{{ product.image }}"/>
如果你想在Django中使用图片,你必须像这样配置你的应用程序:
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')
第一步:静态和媒体
在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或None
!):
在模板中,不要忘记表单类中的enctype=“multipart/form data”
第四步:调用模板中的图像
{% if 'your_image_exist' %}
<img src='{{Model.Image.url}}' height="300" width="400"/>
{% endif %}
{%if'您的图像存在'%}
{%endif%}
这是一个全球性的例子,但为了使用Django处理图片,您必须设置所有这些东西!
祝你好运如果你想在Django中使用图片,你必须这样配置你的应用程序:
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')
第一步:静态和媒体
在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或None
!):
在模板中,不要忘记表单类中的enctype=“multipart/form data”
第四步:调用模板中的图像
{% if 'your_image_exist' %}
<img src='{{Model.Image.url}}' height="300" width="400"/>
{% endif %}
{%if'您的图像存在'%}
{%endif%}
这是一个全球性的例子,但为了使用Django处理图片,您必须设置所有这些东西!
祝你好运上传的图像不是静态文件。@DanielRoseman我听不懂你在说什么。你能告诉我更多细节吗?上传的图像不是静态文件。@DanielRoseman我听不懂你在说什么。你能告诉我更多细节吗?可能需要使用
|safe
过滤器。thx,你的答案。我写了你的代码,但是没有显示图像。通过使用Google控制台,[弃用]资源请求,其URL包含删除的空格(\n
,\r
,\t
)字符和少于个字符(看起来像产品。图像
可能包含无效的url。该字段的内容是什么?它是否包含html标记,而不仅仅是图像url?可能需要使用那里的|安全
过滤器。thx,你的答案。我编写了你的代码,但没有显示图像。使用谷歌控制台,[Deprecation]其URL同时包含删除的空格(\n
、\r
、\t
)字符和少于个字符的资源请求(看起来像product.image
可能包含无效的url。该字段的内容是什么?它是否包含html标记,而不仅仅是图像url?thx-ur答案。您编写了image=models.ImageField(上传到='upload\u file\u目录',null=True,blank=True,width\u-field=None,height\u-field=None,default=”“),我无法理解如何将upload_写入='upload_file_目录',因为我更新了Django管理站点的图像。在我的媒体目录中,我有一些目录:图片
,地图
,…如果您在settings.py中正确配置了媒体
,您只需写入:上传到='pictures/'
你想参考媒体中的图片目录;)这样可以上传图像并将这些图像存储在你想要的位置。thx你的答案。你写了Image=models.ImageField(上传到='upload\u file\u directory',null=True,blank=True,width\u field=None,height\u field=None,default=“),我无法理解如何将upload_写入='upload_file_目录',因为我更新了Django管理站点的图像。在我的媒体目录中,我有一些目录:图片
,地图
,…如果您在settings.py中正确配置了媒体
,您只需写入:上传到='pictures/'
您希望参考媒体中的图片目录;)这样可以上载图像并将这些图像存储在您想要的位置。