上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页
摘要: 当程序逐渐变大时,很多时候我们需要在javaScript和CSS代码中使用jinja2提供的变量值,甚至是控制语句。比如,通过传入模板的theme_color变量来为页面设置主题色彩,或是根据用户是否登陆来决定是否执行某个javaScript函数。 需要注意,只有使用render_template( 阅读全文
posted @ 2019-03-03 22:35 夏晓旭 阅读(4399) 评论(0) 推荐(0)
摘要: 自定义错误页面 当程序返回错误响应时,会渲染一个默认的错误页面,我们可以注册错误处理函数来处理错误页面 错误处理函数和视图函数很相似,返回值将作为响应的主题,因此我们先要创建错误页面的模板文件。为了和普通模板区分开,我们在模板文件夹templates里建一个errors子文件夹,在其中为最常见的40 阅读全文
posted @ 2019-03-03 22:32 夏晓旭 阅读(1839) 评论(0) 推荐(0)
摘要: 消息闪现 flask提供了一个非常有用的flash()函数,它可以用来“闪现”需要提示给用户的消息,比如当用户登录成功后显示“欢迎回来!”。在视图函数调用flash()函数,传入消息内容,flash()函数把消息存储在session中,我们需要在模板中使用全局函数get_flashed_messag 阅读全文
posted @ 2019-03-03 22:27 夏晓旭 阅读(10624) 评论(0) 推荐(0)
摘要: 加载静态文件 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如CSS、JavaScript文件、图片和声音声。在flask程序中,默认需要将静态文件存储在与主脚本(包含程序实例的脚本)同级目录的static文件夹中。 为了在HTML文件中引用静态文件,我们需要使用url_for()函数获 阅读全文
posted @ 2019-03-03 22:19 夏晓旭 阅读(4327) 评论(0) 推荐(1)
摘要: 模板应用实践 空白控制 在实际输出的HTML文件中,模板中的jinja2语句、表达式和注释会保留移除后的空行。 例如下面的代码: jinja2语句中的代码缩进并不是必须的,添加缩进可以增加可读性。 如果想再渲染时自动去掉空行,可以在定界符内侧添加减号。比如{%-endfor%}会移除该语句前的空白, 阅读全文
posted @ 2019-03-03 22:16 夏晓旭 阅读(1265) 评论(0) 推荐(1)
摘要: 模板结构组织 除了使用函数、过滤器等工具控制模板的输出外,jinja2还提供了一些工具来在宏观上组织模板内容。 局部模板 在Web程序中,我们通常会为每一类页面编写一个独立的模板。比如主页模板、用户资料也模板、设置页模板等。这些模板可以直接在视图函数中渲染并作为HTML响应主题。除了这类模板,我们还 阅读全文
posted @ 2019-02-25 22:37 夏晓旭 阅读(1002) 评论(0) 推荐(0)
摘要: flask模板 在动态web程序中,视图函数返回的HTML数据往往需要根据相应的变量(比如查询参数)动态生成。 当HTML代码保存到单独的文件中时,我们没法再使用字符串格式化或拼接字符串的当时在HTML代码中插入变量,这时我们需要使用模板引擎(template engine)。借助模板引擎,我们可以 阅读全文
posted @ 2019-02-24 22:43 夏晓旭 阅读(6637) 评论(0) 推荐(1)
摘要: CSRF(跨站请求伪造)攻击 CSRF(Cross Site Request Forgery,跨站请求伪造)是一种近年来才逐渐被大众了解的网络攻击方式,又被称为One-Click Attack或Session Riding。 攻击原理 CSRF攻击的大致方式如下:某用户登录了A网站,认证信息保存在c 阅读全文
posted @ 2019-02-24 22:38 夏晓旭 阅读(10645) 评论(0) 推荐(1)
摘要: XSS攻击 XSS(Cross-Site Scripting,跨站脚本)攻击历史悠久,是危害范围非常广的攻击方式。 Cross-Site Stripting的缩写本应该是CSS,但是为了避免和Cascading style sheets(层叠样式表)的缩写混淆,所以将Cross(即交叉)使用交叉形状 阅读全文
posted @ 2019-02-23 23:04 夏晓旭 阅读(16917) 评论(1) 推荐(0)
摘要: SQL注入 攻击原理 在编写SQL语句时,如果直接将用户传入的数据作为参数使用字符串拼接的方式插入到SQL查询中,那么攻击者可以通过注入其他语句来执行攻击操作,这些攻击包括可以通过SQL语句做的任何事:获取敏感数据、修改数据、删除数据库表等 攻击示例 假设我们的程序是一个学生信息查询程序,其中的某个 阅读全文
posted @ 2019-02-23 23:00 夏晓旭 阅读(2260) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页