2015-05-20 86 views
-1

所以,我在這個Django網站上工作,我完成了i18n翻譯,現在我試圖設置語言切換窗體作爲標誌,但代碼不工作!輸入類型圖像不工作

選擇/選項/提交完美工作,但輸入類型圖像代碼doesen't工作,它提交,重新加載頁面,但語言不會改變!

有什麼想法?

<div id="lang"> 
     <form action="/i18n/setlang/" method="post"> 
     {% csrf_token %} 
      <input name="next" type="hidden" value="{{request.path}}" /> 

      {%for lang in LANGUAGES %} 
      <input type="hidden" name="language" value="{{lang.0}}"/> 
      <input id="lang_{{lang.0}}" type="image" 
      src="static/img/flags/{{ lang.0 }}.png" alt="{{ lang.1 }}"/> 
      {% endfor %} 

      <select name="language"> 
      {% for lang in LANGUAGES %} 
      <option value="{{ lang.0 }}">{{ lang.1 }}</option> 
      {% endfor %} 
      </select> 

      <input type="submit" value="Go" /> 
     </form> 
    </div> 
+2

沒有看到視圖功能負責改變語言是不可能的幫助你... – rnevius

回答

0

你的形式是搞砸了兩件事情。

多元素具有相同的屬性name沒有name屬性

<input type="hidden" name="language" value="{{lang.0}}"/> 
<select name="language"> 

表單元素。

<input id="lang_{{lang.0}}" type="image" 
      src="static/img/flags/{{ lang.0 }}.png" alt="{{ lang.1 }}"/>| 

你是如何獲得關於視圖的值?

+0

我實際上已經解決它!我將整個表單放在for循環中,從而爲每種語言和標誌創建一個表單,這實際上是我相信這樣做的最正確方式,因爲每個表單都會發布並請求不同的語言......不要我之前並沒有意識到這樣的愚蠢! –