我是Django上的新手,在我的django HTML模板/表单上显示图像时遇到了问题。实际上,我不能显示它们。我已经遵循了这个堆栈溢出问题/link- How do I include image files in Django templates?中陈述的解决方案
然而,当我每次测试它时,浏览器上仍然会出现损坏的图像。下面是与我的应用程序相关的文件的部分内容(这对找出问题很有帮助):
- settings.py
# Media and images used by the templates
MEDIA_ROOT = '/home/acresearch/djangoProjects/fringe/fringe/images'
MEDIA_URL = 'http://localhost:8000/images/'- urls.py
urlpatterns = patterns('',
(r'^submit/$', submit),
(r'^receipt/$', receipt),
(r'^images/(?P<path>.*)$', 'django.views.static.serve', {'document_root' : settings.MEDIA_ROOT}),- views.html
def submit(request):
if request.method == 'POST':
form = SubmitForm(request.POST, request.FILES)
if form.is_valid():
<omitted code related to handling file upload>
else:
form = SubmitForm()
return render_to_response('submission_form.html', {'form' : form})- forms.py
class SubmitForm(forms.Form):
email = forms.EmailField(required=True, label='Email address:')
uploadedfile = forms.FileField(required=True, label='File to upload:')- submission_form.html
<body bgcolor="gray" >
<h1>GRID PE-Classifier Submission Portal</h1>
{% if form.errors %}
<p style="color: red;">Please correct the error{{ form.errors|pluralize }} below. </p>
{% endif %}
<img src="{{ MEDIA_URL }}GRID_LOGO_rev4.jpg" />
<form enctype="multipart/form-data" action="" method="post" >
<div class="field">
<table>
{{ form.email.label }}
{{ form.email }}
</table>
<em>{{ form.email.errors }}</em>
</div>
<div class="field">
<table>
{{ form.uploadedfile.label }}
{{ form.uploadedfile }}
</table>
<em>{{ form.uploadedfile.errors }}</em>
</div>
<input type="submit" value="Submit">
</form>
</body>最后一件事,我检查了开发服务器的响应,发现我应该在HTML模板/表单上显示为图像的JPG被作为GET参数传递给了views.py的submit函数。如下所示:
Development server is running at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[24/Apr/2012 04:55:57] "GET /submit/ HTTP/1.1" 200 621
[24/Apr/2012 04:55:57] "GET /submit/GRID_LOGO_rev4.jpg HTTP/1.1" 404 2208希望你能在这方面帮助我(因为这是我的项目的最后一站,我相当卡住)。另外,如果你能告诉我一些全面但直接的点参考,关于在Django上使用CSS和JS来美化你的网页,那就太好了。
提前感谢!
发布于 2012-04-24 18:04:43
您尚未使用RequestContext呈现模板,因此未传递MEDIA_URL。
https://stackoverflow.com/questions/10295717
复制相似问题