firefad:一个变量作为firemad的codemrror di中的默认文本

2024-09-27 22:11:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将firepad与我的django项目集成。我在javascript方面没有太多的专业知识,因此我面临一个问题。在

如果我按照所有的步骤去做,一切似乎都很好。在

<script>
    //// Initialize Firebase.
    //var firepadRef = getExampleRef();
    // TODO: Replace above line with:
     var ref = new Firebase('<YOUR FIREBASE URL>');

    //// Create CodeMirror (with line numbers and the JavaScript mode).
    var codeMirror = CodeMirror(document.getElementById('firepad-container'), {
      lineNumbers: true,
      mode: 'javascript'
    });

    //// Create Firepad.
    var firepad = Firepad.fromCodeMirror(firepadRef, codeMirror);

    //// Initialize contents.
    firepad.on('ready', function() {
      if (firepad.isHistoryEmpty()) {
        firepad.setText('// JavaScript Editing with Firepad!\nfunction go() {\n var message = "Hello, world.";\n console.log(message);\n}');
      }
    });
  </script>

但是,我在通过django视图呈现的页面上有一个名为“user”的dictionary变量。在

我想在上面的例子中使用这个变量{{用户.textkey}}而不是固定的默认文本。text指向文本的关键点。在

^{pr2}$

有点像这:在

firepad.setText('{{user.textkey}}');

我希望你明白我的意思。这里的问题是,文本可能包含撇号或unicode字符(如左或右单引号)等。此外,django会替换变量中的\n并导致javascript不支持的格式。在

为示例:-在

如果文本包含

Hello \xe2\x80\x98World\xe2\x80\x99:\n Good morning:\n 

那么

firepad.setText('{{user.textkey}}');

看起来像这样

firepad.setText('{{Hello 'World'
Good morning
}}');

javascript无法理解。在

如何解决这个问题?在

欢迎提出任何建议。在


Tags: django文本hellovarwithscriptjavascriptfirebase

热门问题