1

我正在使用Django-countries,但我无法在我的 Django 表单或任何模板中的每个国家/地区旁边显示国家/地区标志。

我很好地显示了国家/地区列表,我在我的静态文件夹中正确设置了 flags 文件夹。但不可能显示标志。

在我的模型中,我有:

PaysNaissance = CountryField(blank_label='Sélectionner un pays', verbose_name='Pays de naissance')

然后,我的表单显示如下国家:

在此处输入图像描述

如您所见,我的列表中没有出现任何标志。你对这个问题有什么想法吗?

设置配置良好,在我的模板中我有:

<table style="width:100%">
            <tbody>
                <p></p>
            <tr>
                <th> Informations sur l'individu </th>
                <th> Données renseignées </th>
            </tr>
            <tr>
                <td>Pays de Naissance</td>
                <td>{{personne.PaysNaissance}}</td>
            </tr>
            </tbody>
 </table>

它显示:FR 但如果我想显示标志,我设置{{personne.PaysNaissance.flag}}并且我有/static/flags/fr.gif

所以为了显示标志我必须写: <td><img src='{{personne.PaysNaissance.flag.url}}'/></td>

但这似乎不起作用。

在我的表格部分:

<form class = "form" method='POST' action='' enctype="multipart/form-data"> {% csrf_token %} <br></br>

        {{ form.as_p }} 
        {{birthday|date:"%d/%m/%Y" }} 
        <input type="submit" onclick="return confirm('Valider le formulaire ?')" /> 
    </form>
4

1 回答 1

4

你需要写:

<td><img src='{{personne.PaysNaissance.flag}}'/></td>

因为{{ personne.PaysNaissance.flag }}本身包含标志 url。你不需要额外写 flag.url 。

还可以做一件事:

利用 :

<link rel="stylesheet" href="{% static 'flags/sprite.css' %}">


<td><i class="{{ personne.PaysNaissance.flag_css }}"></i></td>

这将起作用。

于 2017-09-18T10:31:57.703 回答