Python图像显示Django
自从我在这里提出最后一个问题以来: 我明白,从我得到的所有答案中,glob.glob可能是我唯一需要的方向 然而,我现在被困在这里: 我可以使用glob.glob创建包含媒体目录中所有文件名的列表:Python图像显示Django,python,django,image,Python,Django,Image,自从我在这里提出最后一个问题以来: 我明白,从我得到的所有答案中,glob.glob可能是我唯一需要的方向 然而,我现在被困在这里: 我可以使用glob.glob创建包含媒体目录中所有文件名的列表: all = glob.glob("/Path_to_MEDIA/*/*.jpg") 但是,我如何使用它,并创建一个非常简单的图像显示,其中包含一个“下一步”按钮,该按钮调用我的媒体根目录中的文件并显示它们 我知道的是: 我有一个类似于默认目录索引的模板: <!DOCTYPE html PUB
all = glob.glob("/Path_to_MEDIA/*/*.jpg")
但是,我如何使用它,并创建一个非常简单的图像显示,其中包含一个“下一步”按钮,该按钮调用我的媒体根目录中的文件并显示它们
我知道的是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<meta name="robots" content="NONE,NOARCHIVE" />
<title>Index of {{ directory }}</title>
</head>
<body>
<h1>Index of {{ directory }}</h1>
<ul>
{% ifnotequal directory "/" %}
<li><a href="../">../</a></li>
{% endifnotequal %}
{% for f in file_list %}
<li><a href="{{ f|urlencode }}">{{ f }}</a></li>
{% endfor %}
</ul>
</body>
</html>
{{directory}}的索引
{{directory}}的索引
{%ifnotequal目录”/“%}
{%endifnotequal%}
{文件中f的%u列表%}
{%endfor%}
- 视图中的def必须是什么样子
- 在浏览器中显示一个图像、声音需要写些什么
- 我需要写些什么来显示图像、声音的列表
谢谢你的时间 使用url.py中的额外上下文创建直接指向模板的url:
from django.views.generic.simple import direct_to_template
...
url(r'^whatever', direct_to_template,
{ 'template':'foo.html', 'extra_context': {'files':myfiles} }
name='whatever' ),
其中,上面的myfiles是文件的列表/元组。但是,请确保按照媒体URL而不是基于媒体路径格式化文件列表。例如:
myfiles = [ 'relative/path/foo.jpg',
'http://static.mysite.com/absolute/path/bar.jpg' ]
不过,在您的例子中,显然是从文件系统生成的,而不是硬编码列表。您可以在视图中完成这项工作,而不用直接使用模板——只需确保将文件的键/值放入您的上下文中:
def myview( request ... ):
context = RequestContext(request)
context[files]=myfiles
return render_to_respone( ..., context_instance=context )
然后,在模板foo.html中:
{%用于文件中的文件%}
{%endfor%}
谢谢!有趣。在哪里指定myfiles?在Model.py中,views.py,def在View中,Model?顶部的块在urls.py中,因此我的文件也可以从那里填充。我这样做是为了一个博客,在那里计算“热门故事”,因为它们在多个视图之间共享。然而,你可以把它放在其他地方,然后在那里调用它。或者,如果您愿意,您可以编写自己的视图,而不是执行常规视图,并且只需确保将文件键/值添加到您的上下文中即可。
{% for file in files %}
<img src='YOUR_MEDIA_URL_HERE/{{ file }}' />
{% endfor %}