почему я не могу предупредить эту строку, которая возвращается из django render_to_response - PullRequest
0 голосов
/ 15 февраля 2010

код Джанго:

return render_to_response(template_name, {
        "form": form,
    }, context_instance=RequestContext(request))

и html:

<script type="text/javascript">
        var a='{{form}}'

       alert(a) 
</script>

ошибка «неопределенный строковый литерал»,

и я вижу это в firebug:

<script type="text/javascript">
        var a='"<tr><th><label for="id_username">Username:</label></th><td><input id="id_username" type="text" class="textinput" name="username" maxlength="30" /></td></tr><tr><th><label for="id_email">Email (optional):</label></th><td><input id="id_email" type="text" class="textinput" name="email" /></td></tr>"';
            alert(a) 
    </script>

как предупредить строку 'form'.

спасибо

Ответы [ 3 ]

1 голос
/ 15 февраля 2010

Может быть, попробуйте добавить точки с запятой в конце строк в файле шаблона Django?

<script type="text/javascript">
    var a='{{form}}';

    alert(a);
</script>

Странно, но я уверен, что точки с запятой здесь не обязательны. Не могли бы вы сделать View Source в Firefox (вместо просмотра через Firebug) и посмотреть, какой HTML на самом деле выводит Django?

1 голос
/ 15 февраля 2010

Проверьте исходный HTML-код страницы, используя «Просмотр источника», а не Firebug. Я предсказываю, что в вашем {{form}} значении есть разрыв строки, что приведет к ошибке, которую вы видите.

0 голосов
/ 15 февраля 2010

Я не могу воспроизвести эту ошибку, вставив вышеперечисленное в консоль JavaScript, работает без проблем Возможно ли что-то еще сделать с a? Выше упрощение или точный JavaScript? Может быть, вы можете показать весь HTML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...