以Django形式显示标志& Django-countries

时间:2017-09-18 10:06:07

标签: django django-countries

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

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

在我的模特中,我有:

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

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

enter image description here

如您所见,我的列表中没有标记。你对这个问题有什么看法吗?

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

<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>

1 个答案:

答案 0 :(得分:3)

你需要写:

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

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

还可以做一件事:

使用:

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


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

这样可行。