我偶然发现了一件很奇怪的事情。我用的是django 2.0.7
在我的模板中有以下代码:
<img src="{% static 'external_page/assets/img/profile_pics/'|add:instructor.id|add:'.jpg' %}">
部署时返回( 哪个不对 ):
<img src="/static/.jpg">
但是,如果我改变:
|add:instructor.id
到:
|add:instructor.first_name
它可以正常工作,但使用的是名字而不是ID。
更奇怪的是,在这之前不久,我有以下代码。
...onclick="window.location='{% url 'profile' instructor.id %}'"
很好用。
下面是完整的代码段,从更全面的角度来看:
模板.html
<div class="team"> <div class="row row-instructor"> {% for instructor in instructors %} <div class="card card-signup col-md-4" data-background-color="orange" style="cursor: pointer;" onclick="window.location='{% url 'profile' instructor.id %}'"> <div class="team-player"> <img src="{% static 'external_page/assets/img/profile_pics/'|add:instructor.id|add:'.jpg' %}" alt="Thumbnail Image" class="rounded-circle img-fluid img-raised"> <h4 class="title">{{ instructor.first_name }} {{instructor.last_name}}</h4>
那是因为 instructor.id 是一个整数。您试图将它与字符串连接起来,即使在模板中,这也行不通。
instructor.id
你可以用 slugify 若要将其转换为字符串,也可以创建自己的标记函数。
slugify
试试这个:
{% with instructor.id|slugify as id %} <img src="{% static 'external_page/assets/img/profile_pics/'|add:id|add:'.jpg' %}"> {% endwith %}