Jinja2模板变量传递和javascript代码问题, 上级模板为什么不能接收子模板里面的javascript脚本程序??

正在学习flask框架,使用jinja2和ajax时候碰到一些问题,求解答。

templates|layout.html
         |blog|show_article.html
         |    |.......  
         |    |__create_comment.html

现在在show_article.html模板里面有1个按钮“Comment”,
1.单击按钮的时候, Comment通过ajax-向-服务端发出请求, 2.create_comment视图函数(render_template_string()), 返回一个字符串
3.网页Ajax接受一个字符串,html(data)渲染出来。

为什么写在__create_comment.html里面的js代码,没有传递过去,只有html代码传递过去了??

补充问题:

  1. 文章页面,单击评论的时候, 加载一个form表单和一个相对应的js文件,如何组织? 把form和js放在一起 还是 放在主页面一次性加载?

    article|show_article.html
           |show_article.js
           |comments|create_comment.html
                    |create_comment.js
                    |...
    

    如何加载js文件?
    show_article页面的时候一起加载?
    还是
    show_article页面里面单击comment载入评论表单的时候一起加载?

第二种情况的时候, js代码为什么访问不到form表单里面的值?

阅读 8.8k
1 个回答

我简单回答下子模板的问题

我们通常都听说:子承父业

模板也是如此,模板继承是子模板继承父模板的结构,子模板是知道它的父模板的,而父模板,据我所知吧,是不知道子模板有哪些的,所以父模板没有办法加载子模板的内容。而在子模板中定义的变量或者其它一些内容是可以继承的。

JS的问题我觉得稍微有点复杂,跟业务逻辑有一定关系,不好回答你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进