flask第十九篇——模板【3】】的更多相关文章

请关注微信公众号:自动化测试实战 今天我们继续模板的知识,现在我们增加字典的复杂度,这个时候在render_template第二个参数可以传**title,以后我们会用**context代替原来的title=title. # coding: utf-8 from flask import Flask, render_template app = Flask(__name__)  # type: Flaskapp.debug = True @app.route('/')def hello_worl…
请关注微信公众号:自动化测试实战 先来教大家一个pycharm设置默认模板的方法.我们每次新建模板或者平时写代码打开以后可能都要重复写# coding: utf-8这些代码,其实我们可以设置好模板,让它自动生成的: 打开pycharm的setting(windows)或者preference(Mac) 进入: 就可以看到: 右侧就是默认生成的模板了,在这里改成默认生成的代码,以后就不用每次都写那些固定的代码了. 现在我把代码改为: 这样每次我新建flask项目的时候默认就会生成这个模板了. 今天…
请关注公众号:自动化测试实战 上一节我们介绍了模板的基本使用方法,现在我们想一个问题,如果把index.html放到template文件夹下面的文件夹该怎么办呢?其实很容易,当文件夹结构如下图所示时: 我们只需要修改render_template的值即可,代码如下: 如果你在pycharm里面修改,pycharm会自动帮你改应用的代码的. 现在来想另一个问题,就是既然模板可以复用,那么它里面的内容肯定不可能写死对吧,如果写成固定值那每个页面的内容都成了一样的了,所以模板就需要写成变量的形式,通过…
请关注公众号:自动化测试实战 大家先自己写一下,船长写这个花了半个小时,因为我和大家一样,也是新手: 写一个页面如下,点击书名以后跳转到书的详情页 书的信息如下: books = [ { 'id': 1, 'title': u'三国演义', 'author': u'罗贯中', 'profile': u'<三国演义>是中国古典四大名著之一,是中国第一部长篇章回体历史演义小说,全名为<三国志通俗演义>(又称<三国志演义>),作者是元末明初的著名小说家罗贯中.', ' },…
如果你也在学flask,就请加船长的公众号:自动化测试实战 我们先补充一下for循环的知识,我们之前说过,flask是由Jinja2+sqlAlchemy+werkzeug组成的,我们现在学的控制语句就属于Jinja的知识了.在Jinja2中的for循环包含以下变量,用来获取当前遍历的状态: 变量 描述 loop.index 当前迭代的索引(从1开始) loop.index0 当前迭代的索引(从0开始) loop.first 是否是第一次迭代,返回True/False loop.last 是否是…
请关注孟船长的公众号:自动化测试实战 大家想了解其他过滤器可以参考这里: http://jinja.pocoo.org/docs/dev/templates/#builtin-filters --------- 自定义过滤器 这里要用到装饰器template_filter('过滤器名字'),代码: flaskDemo.py # coding: utf-8 from flask import Flask, render_template import flask app = Flask(__nam…
Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. Requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. impor…
第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操作: 1.类型推断. 其实在写的时候,还没运行,就已经报提示了. 2.类型强制转换,使其拥有代码提示功能. 不使用强制转换时,是没有代码提示的. 使用了之后,就会有提示了. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. instanceof 和 typeof 就不说了,就只看看…
Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这篇文章总结几种Tab的实现. 1)继承自TabActivity,TabActivity已在API Level 13中不建议使用,所有作者不建议在新开发的应用中使用TabActivity,关于Tabactivity的一些分析可以参考<Android TabActivity之感叹,英雄暮路,美人辞暮,昔日的…
终于到了Flask-Migrate,之前在学习Flask-SQLAlchemy的时候,有的同学就提过类似的问题,Flask支持 makemigration / migrate 吗? 答案在这里该诉你,如果你同时拥有两个三方组件 Flask-Script 和 Flask-Migrate 那么就支持这样的动作 首先你要有几个准备工作 第十五章的知识回顾 第十五章的项目下载 废话不多说,直接进入正题 1.安装 Flask-Migrate pip install Flask-Migrate 2.将 Fl…
其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python manager.py runserver 大概是这样对吧 其实Flask也可以做到,基于 Flask-Script 就可以了 - 但是你还是得有一个项目就是第十四章的项目 点击下载 1.安装 Flask-Script pip install Flask-Script 2.将 Flask-Script…
从这一节开始,我就要开始讲关于模板的知识了.先来学习一下Response的相关知识. 所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return u'字符串内容'的形式,但是其实这个字符串也是经过了Response包装的:return Response(u'字符串')我们看一段代码: # coding: utf-8 from flask import Flask, Response app = Flask(__name__)  # type…
QTableWidget的一些常用方法 下面两个类可以根据自己的情况自定义. 单元格类型的类: class CellType(Enum): ctKey = 1000 ctPath = 1001 ctInfo = 1002 单元格列的类: class FieldColNum(Enum): colKey = 0 colPath = 1 colInfo = 2 一.设置TableWidget的表头 headerItem = QTableWidgetItem("要写入单元格里的内容") sel…
自定义分页 1.目的&环境准备 目的把分页写成一个模块的方式然后在需要分页的地方直接调用模块就行了. 环境准备Django中生成一个APP并且注册,配置URL&Views 配置URL from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^user_lis…
列表控件是客户端应用最常用的控件之一.列表控件通常只负责显示数据,最多通知一下APP列表行的选中状态变化. 现在的UI经常要求程序猿在列表控件里不光显示内容,还要能和用户交互,显示动画等等,传统的列表控件对于这样的需求基本是无能为力了. Android开发中很多界面都直接采用ListView实现,ListView中每一个Item中都可以容纳其它控件,这样的设计使得在表项中的交互和在主面板上交互一样简单. 虽然在列表项中容纳其它控件并不是什么新的思想,考虑到列表中的数据量是不确定的,如果给每一个表…
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 ? 1 pip3 install pymysql   使用操作 1.执行SQL +? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/env python # -*-…
一.下载和基本使用 官方地址:www.bootcss.com 二.响应式介绍 1.@meida 媒体查询 (1)响应式页面 为了页面能够适应不同工具的屏幕大小的限制,而开发的一种自适应页面,即 一次开发,处处处显示. (2)CSS的@media查询 使用@media查询,可以针对不同的屏幕大小定义不同的样式. @media mediaType and|not|only (media feature) { /*CSS-Code;*/ } 常用的媒体类型(mediaType) all:用于所有的设备…
前不久刚刚认识过了SQLAlchemy,点击这里复习一下 当 Flask 与 SQLAlchemy 发生火花会怎么样呢? Flask-SQLAlchemy就这么诞生了 首先要先安装一下Flask-SQLAlchemy这个模块 pip install Flask-SQLAlchemy 然后你要下载一个干净的Flask项目 点击下载 接下来基于这个Flask项目,我们要加入Flask-SQLAlchemy让项目变得生动起来 1.加入Flask-SQLAlchemy第三方组件 from flask i…
有兴趣的请加船长公众号:自动化测试实战 先和大家强调一个发邮件的问题 # coding: utf-8 import smtplib from email.mime.text import MIMEText mail_host = 'smtp.163.com' receivers = ['31abc@qq.com','72abc@qq.com'] password = '授权码' sender = 'warrior_meng08@163.com' msg = MIMEText('Python 发邮…
今天来介绍自定义返回对象: 现在我们假定有一个需求:所有的视图函数都要返回json格式的对象我们先看一下Response的源码: 发现只有一行default_mimetype='text/html',所以我们需要重写Response类:当然我们需要知道常用的数据类型: text/html(默认的,html文件) text/plain(纯文本) text/css(css文件) text/javascript(js文件) application/x-www-form-urlencoded(普通的表单…
我们都知道京东的url是www.jd.com,但是当你输入www.jingdong.com时候,你会发现地址自动跳转到了www.jd.com,这种技术手段就叫做重定向. 重定向分为永久重定向和临时重定向 像京东这种只要你输入www.jingdong.com就会跳转到另一个地址的情况就叫做永久重定向,也就是说京东不希望你再用这个地址了:而临时重定向则可能是判断你的登录状态,比如有一些网站你进入后会判断你是否登录,如果登录就跳转页面A,如果没登录就跳转页面B,这种就是临时重定向的情况(后面写项目的时…
继续昨天的话题,今天我们来写一个手机号的转换器,方便大家理解 我们在`BaseConverter`源码里看到好多这种正则表达式: 正则表达式的目的就是规范匹配的规则,现在我们写一个简单的匹配手机号的正则,但是手机号不管是在`to_python`里还是在`to_url`里都是一个字符串,所以这次我们就不需要重写这两个方法了: # coding: utf-8 from flask import Flaskfrom werkzeug.routing import BaseConverterimport…
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='db1',charset…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot19/ 本文出自方志朋的博客 这篇文篇主要简述如何在springboot中验证表单信息.在springmvc工程中,需要检查表单信息,表单信息验证主要通过注解的形式. 构建工程 创建一个springboot工程,由于用到了 web .thymeleaf.validator.el,引入相应的起步依赖和依赖,代码清单如下: <dependencies>…
原文://http://www.cnblogs.com/miniwiki/archive/2010/06/18/1760540.html 文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari,  翻译 Swanky Wu 中文翻译作者把原文放在了"google 协作"上面,GFW屏蔽,不能访问和查看,因此我根据译文和英文原版整理转载到园子里面. 本系列文章可以算是一本很出色的C#线程手册,思路清晰…
ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称. 如果进行数据库迁移,不同数据库的sql语句是有差别的,而ORM是上层封装,只需按照指定的数据库引擎就可以翻译为相对应的sql语句,便于数据库迁移.但是它的效率不高. 不需要调用sqmysql,django的上层封装…
1.从我们第十七篇举例了不同类型的增强处理. spring AOP采用和AspectJ一样的优先顺序来织入增强处理:在“进入”连接点时,具有最高优先级的增强处理将先被织入(在给定的两个Before增强处理,优先级高的将会先被执行),在“退出”连接点时,具有最高优先级的增强处理会最后被织入(在给定的两个After增强处理中,优先级高的那个会后执行). 当不同切面里的两个增强处理需要在同一个连接点被织入时,spring AOP将以随机的顺序来织入这两个增强处理.如果用户应用需要指定不同切面类里的增强…
好家伙,总是要来的,去面对那些晦涩难懂的原理,它就在那里,等着我去搞定它 首先我要去补充一些最基本的概念, 1.什么是内存? 新华字典永远的神, 但这个解释显然不够   去看看百度百科: 内存: CPU 能 直接寻址 的 存储空间 2.变量的储存机制 所以,我们假设现在写了一行代码: var a = 2; 我们将它拆解为两部分 var a; 和 a=2; 说人话就是:为一个变量分配内存,将其命名为a,然后将2保存进这个变量   接着上面的话就是:为一个变量分配CPU 能 直接寻址 的 存储空间,…
好家伙, 1.vue的目录结构分析 来看看项目的目录 (粗略的大概的解释) 2.vue项目的运行流程 在工程化项目中,vue要做的事情很单纯:通过main.js把App.vue渲染到index.html的指定区域中, 先来看看html文件: <!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta http-equiv="X-U…
SOUI是一套100%开源的基于DirectUI的客户端开发框架. 基于DirectUI设计的UI虽然UI呈现的效果可以很炫,但是相对于传统的win32应用程序中每个控件一个窗口句柄的形式,渲染效率是一个很重要的问题. 在SOUI系统中提供了三种武器可以用来提高渲染效率: 第一种武器:选择更高效的渲染引擎 渲染引擎提供文字,几何图形,图像的在缓存上的绘制功能.在SOUI系统中,渲染引擎是一个独立的模块,它不依赖于SOUI系统中的其它模块. 在SOUI系统中已经内置了基于skia及GDI两种框架的…