2017-09-18 91 views
1

我使用Django-countries,我沒有克服在我的Django窗體或任何模板中在每個國家旁邊顯示國家標誌。在Django窗體中顯示標誌&Django國家的模板

我很好地顯示國家列表,我正確地設置了我的靜態文件夾中的標誌文件夾。但不可能顯示標誌。

在我的模型,我有:

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

你可以顯示相同的模板確切的HTML代碼嗎?問題出在**

+0

我在我的問題中添加了一些信息;) – Deadpool

回答

2

你需要寫:

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

因爲{{personne.PaysNaissance.flag}}本身就包含着標誌網址。你不需要寫flag.url extra。

還有一兩件事可以做:

用途:

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


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

這將工作。

+0

第一步工作得很好!只有一個問題:如果我想在我的django列表表單中顯示標誌,我該怎麼做? – Deadpool

+0

@Deadpool你能告訴我HTML表單的呈現輸出嗎?同樣的方式也應該發生在窗體上。 –

+0

是的,你在我的關於我的渲染輸出HTML表單的問題中有一個例子。我不知道如果我必須添加如下內容:'{{form.PaysNaissance.flag}}' – Deadpool