Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django模板中包含图像文件是否显示断开的链接?_Python_Django_Image_Png_Matplotlib - Fatal编程技术网

Python 在Django模板中包含图像文件是否显示断开的链接?

Python 在Django模板中包含图像文件是否显示断开的链接?,python,django,image,png,matplotlib,Python,Django,Image,Png,Matplotlib,全部, 我已经试过了。不幸的是,我还是被卡住了。 该图像不显示在模板中。 就我现在所追踪到的错误而言,它们是双重的: 1应显示图片的位置仍有断开的链接和错误消息: Failed to load resource: the server responded with a status of 404 (NOT FOUND), **http://127.0.0.1:8000/Point3D/grafiek/laptop.jpg** 所以它确实走对了路,但是找不到图像。。这是在我的媒体根 或者我收到:

全部,

我已经试过了。不幸的是,我还是被卡住了。 该图像不显示在模板中。 就我现在所追踪到的错误而言,它们是双重的:

1应显示图片的位置仍有断开的链接和错误消息:

Failed to load resource: the server responded with a status of 404 (NOT FOUND),
**http://127.0.0.1:8000/Point3D/grafiek/laptop.jpg**
所以它确实走对了路,但是找不到图像。。这是在我的媒体根 或者我收到:

Resource interpreted as image but transferred with MIME type text/html with:
**http://127.0.0.1:8000/Point3D/grafiek/**
2另一个错误是,如果我转到:http://127.0.0.1:8000/media/ 我得到:

也许这与此有关

剩下的时间我一直在跟踪,但没有任何运气


任何帮助都将不胜感激

你的模板是什么样的?应该是这样的:

<img src="{{ MEDIA_URL }}Point3D/grafiek/laptop.jpg" alt="" />

我猜你的形象应该是正确的http://127.0.0.1:8000/media/Point3D/grafiek/laptop.jpg你的模板是什么样子的?应该是这样的:

<img src="{{ MEDIA_URL }}Point3D/grafiek/laptop.jpg" alt="" />

我猜你的形象应该是正确的http://127.0.0.1:8000/media/Point3D/grafiek/laptop.jpg在/media/上被拒绝的权限正是应该发生的事情,否则页面的每个用户都可以查看该目录中的所有文件,这与配置Apache以允许对目录进行索引相同,即,在大多数情况下,不是你想要的。尝试通过粘贴完整的url访问浏览器中的文件,并在路径中包含媒体url!:

http://127.0.0.1:8000/media/Point3D/grafiek/laptop.jpg
如果这不起作用,请确保已将Django或Apache配置为服务于您尝试访问的静态文件

编辑:
还有一件事可能会给您带来麻烦:/media/是管理员媒体url的默认值。如果你的管理员媒体url和你的媒体url相同,那就不好了。更改此设置,使您的MEDIA\u URL和ADMIN\u MEDIA\u前缀不相同。

在/MEDIA/上拒绝权限正是应该发生的事情,否则页面的每个用户都可以查看该目录中的所有文件,这与配置Apache以允许对目录进行索引相同,在大多数情况下,不是你想要的。尝试通过粘贴完整的url访问浏览器中的文件,并在路径中包含媒体url!:

http://127.0.0.1:8000/media/Point3D/grafiek/laptop.jpg
如果这不起作用,请确保已将Django或Apache配置为服务于您尝试访问的静态文件

编辑: 还有一件事可能会给您带来麻烦:/media/是管理员媒体url的默认值。如果你的管理员媒体url和你的媒体url相同,那就不好了。更改此选项,使您的媒体URL和管理员媒体前缀不相同。

是否在标记中包含{MEDIA\u ROOT}}

另外,请确保使用RequestContext对象调用模板,否则{MEDIA_ROOT}}将不会在模板中设置。尝试使用django.views.generic.simple.direct_to_模板,而不是django.shortcuts.render_to_响应。请注意,direct_to_模板的调用与render_to_响应类似,只是它将请求作为第一个参数

from django.views.generic.simple import direct_to_template
# your view code here
return direct_to_template(request, 'path/to/template.html', **kwargs)
您是否在标记中包含{MEDIA\u ROOT}}

另外,请确保使用RequestContext对象调用模板,否则{MEDIA_ROOT}}将不会在模板中设置。尝试使用django.views.generic.simple.direct_to_模板,而不是django.shortcuts.render_to_响应。请注意,direct_to_模板的调用与render_to_响应类似,只是它将请求作为第一个参数

from django.views.generic.simple import direct_to_template
# your view code here
return direct_to_template(request, 'path/to/template.html', **kwargs)

假设文件系统上的介质位于:

/home/username/django-project/media/images/favicon.ico
在settings.py中,您应该具有:

import os

PROJECT_PATH = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = '/media/'

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.media',
)
project URL.py还应包含以下内容,这些内容应仅在调试模式下工作:

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT.replace('\\','/')}, name='media'),
    )
您的模板应包括如下介质:

<link rel="icon" href="{{ MEDIA_URL }}images/favicon.ico" />

假设文件系统上的介质位于:

/home/username/django-project/media/images/favicon.ico
在settings.py中,您应该具有:

import os

PROJECT_PATH = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = '/media/'

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.media',
)
project URL.py还应包含以下内容,这些内容应仅在调试模式下工作:

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT.replace('\\','/')}, name='media'),
    )
您的模板应包括如下介质:

<link rel="icon" href="{{ MEDIA_URL }}images/favicon.ico" />

直接转到u建议的页面仍然会出现错误。我已经尽了一切努力来配置django,以便能够找到该文件。。不知怎的,我的静态文件肯定还是有问题?关于如何检查这一点有什么提示吗?如果您没有提供错误消息,很难说。但是我在我的答案中增加了一个可能的解决方案。再次感谢,我检查了这个。我开始了一个新的问题,并将我的大部分代码发布到了。我得到的错误是一张损坏的图像图片,如果我右键单击该图片,则会显示一条错误消息无法加载资源:服务器响应状态为404 NOT FOUND希望此信息可以帮助您帮助我。坦克!直接转到u建议的页面仍然会出现错误。我已经尽了一切努力来配置django,以便能够找到该文件。。不知怎的,我的静态文件肯定还是有问题?关于如何检查这一点有什么提示吗?如果您没有提供错误消息,很难说。但我在我的答案中又增加了一个可能的解决方案。再次感谢,我做到了
别这样。我开始了一个新的问题,并将我的大部分代码发布到了。我得到的错误是一张损坏的图像图片,如果我右键单击该图片,则会显示一条错误消息无法加载资源:服务器响应状态为404 NOT FOUND希望此信息可以帮助您帮助我。坦克!到目前为止,我所做的一切都没有结果。。错误我不知道我是否需要一个特殊的静态文件夹?为什么找不到文件?它在目录里,我说应该是。。在这种情况下:C:\Users\Tijl\Documents\Programming\Dashboard\src\DashboardDesign\FigureOnWebSite\templates\images。到目前为止,我尝试的方法仍然没有得到任何文件。。错误我不知道我是否需要一个特殊的静态文件夹?为什么找不到文件?它在目录里,我说应该是。。在这种情况下:C:\Users\Tijl\Documents\Programming\Dashboard\src\DashboardDesign\FigureOnWebSite\templates\Images这是网站上的链接指向的路径,但它仍然找不到图像。。。一定是有点傻。。。文件位于C:\Users\Tijl\Documents\Programming\Dashboard\src\DashboardDesign\FigureOnWebSite\templates\images and my MEDIA\u ROOT='C:/Users/Tijl/Documents/Programming/Dashboard/src/DashboardDesign/FigureOnWebSite/templates/images/static'中,其中MEDIA\u URL=my HTML是您建议的格式。有任何提示吗?请尝试设置媒体\u ROOT=C://../images而不是C://../images/static。如果媒体URL为localhost:8000/static,则文件应位于localhost:8000/static/Point3D/grafiek/laptop.jpg中。这是网站上的链接指向的路径,但仍然找不到图像。。。一定是有点傻。。。文件位于C:\Users\Tijl\Documents\Programming\Dashboard\src\DashboardDesign\FigureOnWebSite\templates\images and my MEDIA\u ROOT='C:/Users/Tijl/Documents/Programming/Dashboard/src/DashboardDesign/FigureOnWebSite/templates/images/static'中,其中MEDIA\u URL=my HTML是您建议的格式。有任何提示吗?请尝试设置媒体\u ROOT=C://../images而不是C://../images/static。如果媒体URL为localhost:8000/static,则文件应位于localhost:8000/static/Point3D/grafiek/laptop.jpg中。