Django,动态设置img src

时间:2018-04-26 21:14:12

标签: html django

在有人将此标记为重复之前,我已阅读并尝试过这些主题中的解决方案:

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 那我在这里错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:1)

在模板中,您应该使用journalentry(全部小写),而不是journalEntry