from flask import Flask,render_template,request
from others import checkLogin
app = Flask(__name__) #从templates里引用index.html
#return render_template("index.html")
@app.route('/')
def index():
return '''<form action="/login" method="post">
<input type="text" name="username" value=""><br >
<input type="text" name="password" value="">
<input type="submit" value="submit">
</form>
''' @app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'POST':
#checkLogin是自己写的使用mysql返回账号密码正确性,返回True/False
#request.form['username'] 从表单获取username的值,password同
#获取get参数的是 request.args.get['keyword']获取keyword参数值
if checkLogin(request.form['username'],request.form['password']):
return 'Hello '+request.form['username']
else:return 'Fail' if __name__ == '__main__':
#debug显示信息,host绑定ip,port 绑定端口
app.run(debug=True)

引用模板,并在模板显示信息

 from flask import Flask,render_template,request
app = Flask(__name__) @app.route('/user/<name>')
def index(name):
return render_template('user.html',username=name)

模板 user.html

  <ul>
{% if username %}
<li>{{ username }}</li>
{% endif %}
</ul>

用之前写的爬行wooyun镜像站实例(部分代码)记录:

 from flask import Flask,render_template,request
from wooyun import wooyunfilter
app = Flask(__name__) @app.route('/',methods=['GET'])
def index():
return render_template('index.html') @app.route('/search',methods=['GET'])
def search():
keyword = request.args.get('keyword')
title = keyword
obj = wooyunfilter(keyword,'')
a = obj.search()
pageZip = zip(a[0],a[1],a[2],a[3])
return render_template('wooyun.html',title=title,zip=pageZip) if __name__ == '__main__':
app.run(debug=True)

wooyun.html主要代码:

 <ul>
{% for hrefs,times,titles,types in zip %}
<li><strong>{{ times }}</strong><a href="{{ url_for('apear',next=hrefs) }}" target="_blank">{{ ' '+titles }}</a><span>{{ ' '+types }}</span></li>
{% endfor %} </ul>

[Flask]学习Flask第三天笔记总结的更多相关文章

  1. Flask 学习系列(三)---Jinjia2使用过滤器

    再Jinjia2中过滤器是一种转变变量输出内容的技术.··过滤器通过管道符号“|与变量链接,并且可以通过圆括号传递参数” .举例说明: {{my_variable|default('my_variab ...

  2. Flask学习-Flask app启动过程

    因为0.1版本整体代码大概只有350行,比较简单.所以本篇文章会以Flask 0.1版本源码为基础进行剖析Flask应用的启动过程. Flask参考资料flask,官网有一个最简单app: from ...

  3. Flask学习-Flask基础之WSGI

    一.WSGI为什么会出现? 在学习一个东西之前,我们肯定想知道:它为什么会出现?那么,WSGI为什么会出现呢? 我们知道,部署一个web应用,经常需要使用nginx.apache或者IIS等web服务 ...

  4. Flask学习-Flask app接受第一个HTTP请求

    一.__call__() 在Flask app启动后,一旦uwsgi收到来自web server的请求,就会调用后端app,其实此时就是调用app的__call__(environ,start_res ...

  5. Flask学习-Wsgiref库

    一.前言 前面在Flask学习-Flask基础之WSGI中提到了WerkZeug,我们知道,WerkZeug是一个支持WSGI协议的Server,其实还有很多其他支持WSGI协议的Server.htt ...

  6. Flask 学习笔记

    Flask 是一个Web应用框架,我也就是一边看书,一边写博文做记录 这本书: 首先安装Flask ,和配置环境,参考这边博客: 然后就开始学习Flask 了. 1.Application and R ...

  7. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  8. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  9. Flask 学习(三)模板

    Flask 学习(三)模板 Flask 为你配置 Jinja2 模板引擎.使用 render_template() 方法可以渲染模板,只需提供模板名称和需要作为参数传递给模板的变量就可简单执行. 至于 ...

随机推荐

  1. ViewPager Indicator的使用方法

    原文:http://my.oschina.net/u/1403288/blog/208402 项目源码:https://github.com/wangjing0311/ViewPagerIndicat ...

  2. 合理使用Memcached进行缓存部署

    Memcached是danga.com(运营 LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能.关于这个东西,相信很多人都用过,本 文意在通 ...

  3. Swift - 41 - swift1.2新特性(2)

    swift 和 OC 的桥接 //: Playground - noun: a place where people can play import UIKit var PI = "3.14 ...

  4. C#基础学习第三天(.net菜鸟的成长之路-零基础到精通)

    1.复合赋值运算符 += -= *= /= %= 2.关系运算符  > < >= <= == !=  由关系运算符连接的表达式我们称之为关系表达式.  每一个表达式都可以求解出 ...

  5. angularjs中ng-attr的用法

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  6. Xaml 页面布局学习

    对于一开始设计xaml界面的初学者,总是习惯性的拖拽控件进行布局,这样也许方便.简单.快捷,但偶尔会出现一些小错误, 当需要将控件进行很细微的挪动时也比较吃力. 这里,我个人建议用一些代码将xaml界 ...

  7. 13 hbase连接

    Configuration conf=new Configuration(); String zookeeper=""; String clientport="; Str ...

  8. 武汉科技大学ACM :1008: A+B for Input-Output Practice (VIII)

    Problem Description Your task is to calculate the sum of some integers. Input Input contains an inte ...

  9. 在android中如何查看sqlite数据表结构,以及data文件打不开问题

    1.root你的手机 2.cmd进入DOS界面,并且cd 转换目录到AndroidSDK\platform-tools中 3.输入adb shell 4.输入su,进入root权限,此时$变为#,输入 ...

  10. 3D 灯光介绍

    光特性 参考OpenGL的光照模型,把光分成4种独立的成分: 环境光 散射光 镜面光 发散光 环境光:ambient light 环境光是那些在环境中进行了充分的散射,无法分辨其方向的光.它会均匀的照 ...