2016-08-13 50 views
0

我是Django的新手。這是我的標記模型發送Django中的字符串元素列表

class Tag(models.Model): 
    name=models.CharField(max_length=255) 
    post=models.ManyToManyField('Post') 

我將所有標記名稱的列表發送到模板。我想在JavaScript代碼中使用它。問題是,該表看起來是在JavaScript

[u'c++', u'c#', u'php', u'python', 
u'django'] 

這應該是因爲這

[ 'C++', 'C#', 'PHP', '巨蟒',「Django的]

我認爲這是關於unicode的一些事情,但我不知道如何處理它。請幫忙嗎?

藉口,我的英語不好

+0

你的模板和視圖是什麼樣的? – mhawke

+0

我在視圖中將列表編碼爲JSON,然後在javascript代碼$ .parseJSON('{{tags | safe}}')中對其進行解碼。謝謝你提到的安全過濾器:) – Salma

回答

1

你能告訴我的錯誤是,當你渲染在第一時間來看,或者是Ajax調用?我想你做的Ajax調用,那麼可以調試Django的過程,並在這裏寫下你的數據庫恢復的數據是什麼?

另外,你可以把你使用的json序列化器嗎?

如果你嘗試下一個代碼,你可以看到的問題是不是Unicode:

  import json 
     json.dumps([unicode(i) for i in range(10)]) 

result: '["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]' 

嘗試發送上述數據,並告訴我們結果吧。謝謝!

+0

非常感謝,我編碼的列表JSON在視圖然後解碼它在JavaScript代碼 $ .parseJSON('{{tags | safe}}') – Salma

+0

輸出'dump()'不安全地包含在'

0

使用「| safe」

在您的模板中這樣的事情。

{{ variable_name | safe }} 
+0

謝謝,但是列表並不是我想要它在 添加安全過濾後,列表= [u'C++',u'c#',u'php',u'python ',u'django'] – Salma

相關問題