flask模板template 与js 的一些问题

众所周知,flask使用的模板语言是jinja2,关于jinja的快速入门可以看 https://spacewander.github.io/explore-flask-zh/8-templates.html
我在模板中使用{{}}来获取变量没有问题,在模板页面里使用JavaScript函数也没有问题。有几个需要注意的点:

  1. js 函数中,ajax请求重定向。
function sale_submit(obj){
var words='a';
var page=2;
window.location.href ="{{ url_for('main.search_material_list',words=words,page=page)}}"
}
Jinja不能使用Javascript变量。这样是接收不到指定的参数。
只要改成
window.location.href ="{{ url_for('main.search_material_list')}}"+'?page='+page+'&words='+words
就可以成功发送和接收参数。

不过如果js不是写在html页面里,而是作为单独的.js外连接,那么是无法使用jinja的template语法的,像是{{}}这些都无法使用。

原文地址:https://www.cnblogs.com/plusUltra/p/10876818.html

时间: 2024-08-04 01:04:52

flask模板template 与js 的一些问题的相关文章

Flask 的 template模板 与 jinja2语法

Flask 的 template模板 与 jinja2语法 Flask使用的是Jinja2模板,所以其语法和Django基本无差别 1.模板基本数据的渲染 变量 {{..}} 列表 {% for item in List %}<li>{{item}}</li>{% endfor %} 字典 {% for k,v in Dict.items() %}<li>{{k}}{{v}}</li>{% endfor %} 2 注意:Markup等价django的mark

模板引擎doT.js

作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div id="testid"></div> <script type="text/javascript"> var testjson={"name":"张三","age":31,"

Flask Web Development - Flask 模板1 - 模板机制&Jinja2引擎

节选自PartI Chapter3,这个chapter主要讲模板工作原理,这里讲的就是Jinja2这个模板,另外还提到了Flask-Bootstrap及Flask-Moment两个插件,前者对Flask使用Bootstrap做了些封装,后者对moment.js做了些封装.内容较多,估计分开搞. 模板存在的意义 可维护性高的代码是结构良好且整洁的. 当用户在网站注册一个账户时,他在表单里填入邮箱跟密码,并点击提交按钮.在server端就收到一个包含这些数据的request,再由Flask分发到相应

jquery模板jquery.tmpl.js使用教程(附jquery.tmpl.js下载)

使用js tempate的意义:用js对json数据处理生成html,如果不复杂还可以,复杂了就不好处理了,而且让js代码看起来特不优雅,维护这种代码等于自杀啊,别谈扩展性了...介绍一个jquery模板 jquery.tmpl.js,使用案例如下: <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content=

javascript模板插件amaze.js

摘要: 最近在开发项目时,异步接口需要前端渲染数据,js拼接太低级,必然要用模板插件.之前用过基于jQuery的和juicer等插件,考虑到以后公司项目上的统一,移动端和pc端上的统一,以及可维护性,所以就自己开发了一款模板插件amaze.js. 支持IE5+,chrome等流浏览器,支持for和if语法,以及表达式. 代码:https://github.com/baixuexiyang/amaze 例子: <script src="../src/amaze.js"><

t4模板生成 _references.js 文件

t4模板功能: 指定目录,自动生成 _references.js 文件 相关文件说明: _references.js 实现js智能提示. 注意事项: hostspecific="true" <#@ template debug="false" hostspecific="true" language="C#" #> projectDir=Host.ResolveAssemblyReference("$(P

flask模板的基本用法、模板语法、渲染模板、模板辅助工具

flask模板 在动态web程序中,视图函数返回的HTML数据往往需要根据相应的变量(比如查询参数)动态生成. 当HTML代码保存到单独的文件中时,我们没法再使用字符串格式化或拼接字符串的当时在HTML代码中插入变量,这时我们需要使用模板引擎(template engine).借助模板引擎,我们可以再HTML文件中使用特殊的语法来标记变量,这类包含固定内容和动态部分的可重用文件称为模板(template). 模板引擎的作用就是读取并执行模板中的特殊语法标记,并根据传入的数据将变量替换为实际值,输

Django[11]模板Template context和Bootstrap使用

视图views.py中: 1234567891011121314151617181920212223242526 from __future__ import unicode_literals from django.shortcuts import render # Create your views here.from django.http import HttpResponse def (request): context = { "title": "home&quo

Python - 定制pattern的string模板(template) 具体解释

定制pattern的string模板(template) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/28625179 string.Template的pattern是一个正則表達式, 能够通过覆盖pattern属性, 定义新的正則表達式. 如: 使用新的定界符"{{", 把{{var}}作为变量语法. 代码: # -*- coding: utf-8 -*- ''' Created on 2014.6.5