Отображать флаги в форме и шаблонах Django со странами Django

Я использую Django-страны, и я не стараюсь отображать флаги стран рядом с каждой страной в моей форме 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>

1 ответ

Решение

Вам нужно написать:

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

Это будет работать

Другие вопросы по тегам