在有人将此标记为重复之前,我已阅读并尝试过这些主题中的解决方案:
Use Django Template Tags in img src
django 1.5 - How to use variables inside static tag
Django: Insert image in a template whose path is dynamic
仍然无法让它发挥作用。
所以我使用UpdateView中内置的Django来更新数据库条目,我正在尝试将图像加载到模板,其中src
的一部分是动态的,如下所示:
edit_journal_entry_form.html
{% extends 'base.html' %}
{% load staticfiles%}
<form method="post">
{% csrf_token %}
{% static "" as baseUrl %}
<img src="{{ baseUrl }}/lpr_images/{{journalEntry.license_plate_nr_img}}"></img>
<img src="{% static "" %}/lpr_images/{{journalEntry.license_plate_nr_img}}" />
<img id="edit_img" src="{% static 'lpr_images/' %}{{journalEntry.license_plate_nr_img}}" alt="Image not read!"/>
{{ form.as_p }}
<button class="btn btn-success" type="submit">Submit</button>
...
views.py
class JournalEntryUpdate(UpdateView):
model = JournalEntry
template_name = 'gate_operator/edit_journal_entry_form.html'
success_url = '/gate_operator/journal/'
fields = [
'license_plate_nr',
'license_plate_nr_img',
...
]
def form_valid(self, form):
object = form.save(commit=False)
object.user = self.request.user
object.save()
return super(JournalEntryUpdate, self).form_valid(form)
models.py
class JournalEntry(models.Model):
license_plate_nr = models.CharField(max_length=20, blank=True)
license_plate_nr_img = models.CharField(max_length=100, blank=True)
...
这在控制台中都不起作用我可以说我只得到静态部分:GET http://127.0.0.1:8000/static//lpr_images/ 404 (Not Found)
我试图对网址进行硬编码以确保我在正确的路径上,因此这会成功显示图片:http://127.0.0.1:8000/static//lpr_images/2018_04_26_08_43_25.png
那我在这里错过了什么或做错了什么?
答案 0 :(得分:1)
在模板中,您应该使用journalentry
(全部小写),而不是journalEntry
。