[Flask]学习Flask第三天笔记总结
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第三天笔记总结的更多相关文章
- Flask 学习系列(三)---Jinjia2使用过滤器
再Jinjia2中过滤器是一种转变变量输出内容的技术.··过滤器通过管道符号“|与变量链接,并且可以通过圆括号传递参数” .举例说明: {{my_variable|default('my_variab ...
- Flask学习-Flask app启动过程
因为0.1版本整体代码大概只有350行,比较简单.所以本篇文章会以Flask 0.1版本源码为基础进行剖析Flask应用的启动过程. Flask参考资料flask,官网有一个最简单app: from ...
- Flask学习-Flask基础之WSGI
一.WSGI为什么会出现? 在学习一个东西之前,我们肯定想知道:它为什么会出现?那么,WSGI为什么会出现呢? 我们知道,部署一个web应用,经常需要使用nginx.apache或者IIS等web服务 ...
- Flask学习-Flask app接受第一个HTTP请求
一.__call__() 在Flask app启动后,一旦uwsgi收到来自web server的请求,就会调用后端app,其实此时就是调用app的__call__(environ,start_res ...
- Flask学习-Wsgiref库
一.前言 前面在Flask学习-Flask基础之WSGI中提到了WerkZeug,我们知道,WerkZeug是一个支持WSGI协议的Server,其实还有很多其他支持WSGI协议的Server.htt ...
- Flask 学习笔记
Flask 是一个Web应用框架,我也就是一边看书,一边写博文做记录 这本书: 首先安装Flask ,和配置环境,参考这边博客: 然后就开始学习Flask 了. 1.Application and R ...
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
- Python Flask学习笔记之Hello World
Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...
- Flask 学习(三)模板
Flask 学习(三)模板 Flask 为你配置 Jinja2 模板引擎.使用 render_template() 方法可以渲染模板,只需提供模板名称和需要作为参数传递给模板的变量就可简单执行. 至于 ...
随机推荐
- Debian耳机声音问题
Debian耳机声音问题 关于Debian声音问题 debian testing基本系统安装无声音问题解决 耳机声音问题 之前耳机声音一直正常,使用部分软件更改声卡设置后,计算机可以播放外音,但是耳机 ...
- css3 3D变换和动画
3D变换和动画 建立3D空间,transform-style: preserve-3d perspective: 100px; 景深 perspective-origin:center center ...
- java图片缩放
package com.rubekid.springmvc.utils; import java.awt.AlphaComposite; import java.awt.Graphics2D; imp ...
- __dopostback的用法 . 编辑
在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的. 比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单 ...
- 请帮我看看这个页面,红色部份如何改才能保存到ACCess数据库中
<% if session("shiwei_username")="" then %> <script language="java ...
- linux下zip命令使用
linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o ...
- 如何搭建DHCP及DHCP中继服务器
当局域网中有大量的主机时,如果逐台设置ip地址.默认网关.dns服务器地址时等网络参数,显然是一个费力也未必讨好的方法,这时使用DHCP的方式分发ip地址,能够动态配置各客户机的网络地址参数,大大减轻 ...
- vimtutor-summary
- C++重载操作符
重载的函数操作符,对对象使用起来就像对象是一个函数一样 class A{public:A(int n);int operator()(int n); //需要一个参数,返回int类型void out ...
- 极度郁闷的错误调试——ajax jquery
今天在写一个简单邮件验证的页面时,本来以为二十分钟的事情,却调试了一个半小时,简直郁闷,具体的错误如下: 在页面中,有一段如下的代码: <td colspan="3"> ...