2013-05-12 1 views
0

У меня проблема с выдачей сообщения в Django. У меня есть Python, который позволяет пользователю вводить сообщение и отправлять его в Google App Engine. То, что я собираюсь сделать, - использовать строку в сравнении в Javascript для вывода правильного изображения.Django {{message}} не работает в Javascript

У меня есть следующее в Javascript.

var img = document.createElement("img"); 
img.src = "images/150.png"; 
if ({{messages.get().message}} == "hello"){ 
    var src = document.getElementById("image1"); 
    src.appendChild(img); 
} 

Я не понимаю, почему messages.get().message не работает. По какой-то причине это дает мне ошибку синтаксического анализа. Код Python, который используется, чтобы отправить сообщение в формате JSON выглядит следующим образом:

endef getJSONMessages(callback): 
messages = db.GqlQuery("SELECT * FROM Message ORDER BY timestamp DESC LIMIT 1") 
strlist = "" 
for message in messages: 
    if len(strlist)>0: 
     strlist += ',' + message.asJSONString() 
    else: 
     strlist = message.asJSONString()     
if callback=='': 
    return '[' + strlist + ']' 
else:  
    return callback+'([' + strlist + ']);' 

Я был бы очень благодарен за некоторую помощь с этим вопросом.

+0

Работает ли '{{messages.get.message}}'? Вы не можете иметь круглые скобки в поиске переменных шаблона Django, но Django [будет автоматически вызывать методы] (https://docs.djangoproject.com/en/1.5/topics/templates/#variables). – andrewdotn

+0

приложение работает сейчас .. но изображение не выводится – user2336427

+0

Mate спасибо! я не могу поверить() была проблема. Однако она точно работает. , я тестировал его с выходом, и он печатает сообщение, но изображение по-прежнему не выводит вывод – user2336427

ответ

0

попробовать

var img = document.createElement("img"); 
img.src = "images/150.png"; 
if ("{{messages.get.message|escapejs}}" == "hello"){ 
    var src = document.getElementById("image1"); 
    src.appendChild(img); 
} 

Там нет необходимости "messages.get()" в шаблонах. «messages.get» wii do.

если вы используете

if(messages.get.message == "hello") { ... } 

Там не будет никаких кавычек вокруг сообщения, которое приведет к синтаксической ошибке.

Смежные вопросы