flask测试

run.py

#导入falskapp实例,调用run方法来启动服务器

from app import flaskapp
flaskapp.run(debug=True)

views.py

#view是来响应来网页的浏览器的请求处理器。在flask视图是编写成python函数的,每一个函数可以映射一个或多个URL。

from app import flaskapp
from flask import render_template,flash,redirect
from .forms import LoginForm

#render_template 调用了 Jinja2 模板引擎,Jinja2 模板引擎是 Flask 框架的一部分
@flaskapp.route(‘/‘) #route装饰器
@flaskapp.route(‘/index‘)
def index():
user={‘nickname‘:‘Miguel‘}
posts=[{
‘author‘:{‘nickname‘:‘John‘}
‘body‘:‘Beautyful day in Portland‘
},
{ ‘author‘:{‘nickname‘:‘Susan‘}
‘body‘:‘The Avengers movie was so cool!‘
}
]
return render_template("index.html",
title=‘Home‘,
user=user)
#渲染表单的函数
@flaskapp.route(‘/login‘,methods=[‘GET‘,‘POST‘])
def login():
form=LoginForm()
if form.validate_on_submit():
flash(‘Login requested for OpenID="‘+ from.opendid.data+‘",remember_me=‘+str(form.remember_me.data))
return redirect(‘/index‘)
return render_template(‘login.html‘,
title=‘Sign In‘,
form=form)

config.py

#CSRF_ENABLED 配置是为了激活 跨站点请求伪造 保护。

#SECRET_KEY:CSRF_ENABLED激活后,建立一个加密的令牌,用于验证表单。
CRSF_ENABLED=True
SECRET_KEY=‘you-will-never-guess‘
OPENID_PROVIDERS=[{‘name‘:‘Google‘,‘url‘:‘https://www.google.com/account/o8/id‘},
{‘name‘:‘Yahoo‘,‘url‘:‘https://me.yahoo.com‘},
{‘name‘:‘AOL‘,‘url‘:‘https://www.google.com/account/o8/id‘},
{‘name‘:‘Google‘,‘url‘:‘https://www.google.com/account/o8/id‘}]

__init__.py

from flask import Flask
flaskapp =Flask(__name__)
#读取配置
flaskapp.config.from_object(‘config‘)

from app import views

form.py

from flask.ext.wtf import From
from wtforms import StringField,BooleanField
from wtforms.validators import DataRequired
class LoginForm(From):
openid=StringField(‘opendid‘,validators=[DataRequired()])
remember_me=BooleanField(‘remember_me‘,defult=False)

index.thml

{% extends "base.html" %}
{% block content%}
<h1> Hello,{{user.nickname}}!</h1>
{% for post in posts%}
<p>{{post.author.nickname}} says: <b>{{post,body}}</b></p>
{% endfor %}
{% endblock %}

base.html

<html>
<head>
<%if title %>
<title>{{title}} - falskblog</title>
<%else %>
<title>Welcome to flaskblog</title>
<%end if %>
</head>
<body>
<div>Microblog: <a herf="/index" >Home</a></div>
<hr>
{% with messages=get_flashed_messages %}
{% if messages % }
<ul>
{%for message in messages %}
<li>{{message}}</li>
{% endfor %}
</ul>
{% endif %}
{% end with %}
{ block content %}
{% endblock %}
</body>
</html>

login.html

<!-- extend from base layout -->
{% extends "base.html " %}

{% block content%}
<h1>Sign In</h1>
<form action="" method="post" name="login">
{{form.hidden_tag()}}
<p>
Please enter your OpenID:</br>
{{form.openid(size=80)}}<br>
{for error in form.openid.errors %}
<span style="color:red;">[{{error}}]</span>
{% endfor %}
</p>
<p>{{form.remember_me}} Remember Me</p>
<p>i<input="submit" value="Sign In"></p>

</form>

时间: 2024-10-27 10:06:18

flask测试的相关文章

Flask 测试

测试是每个应用系统发布前必须经历的步骤,自动化测试对测试效率的提高也是毋庸置疑的.对于Flask应用来说,当然可以使用Web自动化测试工具,比如Selenium等来测.Flask官方推荐的自动化测试方法是一种白盒测试,它依赖于Werkzeug的Client对象来模拟客户端.使用这个方法的好处是你不需要真的运行一个应用实例,也不依赖于任何浏览器.而测试框架就使用Python中的unittest包,对于大家上手也方便. Set Up和Tear Down方法 Set Up方法会在每个测试用例执行前被调

flask客户端测试使用设置cookie参数

今天在对flask客户端进行测试,然后看到我们服务器端用请求前钩子写了这样的代码 @app.before_requestdef before_request(): session = request.cookies.get('P', '') 这段代码的意思是,在将请求发向flask路由的之前先运行这段代码,我们都知道要在requests里面设置cookies的参数只需要 import requests print requests.request('get', 'http://nuanhi.co

Windows下快速安装Flask的一次经历

前提: 1.已安装python版本(一般都是2.X) 2.已安装easy_install python安装,记得配置Python的环境变量,例如:我的直接在Path上加 G:\Python 验证安装Python成功:cmd 输入python 或者python -V ---------------------------------------------------------------------------------------------------------------------

python web 部署:nginx + gunicorn + supervisor + flask 部署笔记

python web 部署 web开发中,各种语言争奇斗艳,web的部署方面,却没有太多的方式.简单而已,大概都是 nginx 做前端代理,中间 webservice 调用程序脚本.大概方式:nginx + webservice + script nginx 不用多说,一个高性能的web服务器.通常用来在前端做反向代理服务器.所谓正向与反向(reverse),只是英文说法翻译.代理服务,简而言之,一个请求经过代理服务器从局域网发出,然后到达互联网上服务器,这个过程的代理为正向代理.如果一个请求,

简单性能测试: bottle vs flask

###目的测试在不同的部署方式下的性能. ###硬件环境 Intel Core i5-3230M CPU @ 2.60GHz × 4内存: 7.4 GiB操作系统: Ubuntu 14.04 64 位 ###uwsgi```uwsgi_python --http-socket=:8000 --workers=2 --wsgi-file hello.py --callable app 2>/dev/null``` ###bottle测试代码(hello.py)```from bottle impo

python常用web框架性能测试(django,flask,bottle,tornado)

测了一下django.flask.bottle.tornado 框架本身最简单的性能.对django的性能完全无语了. django.flask.bottle 均使用gunicorn+gevent启动,单进程,并且关闭DEBUG,请求均只返回一个字符串ok. tornado直接自己启动,其他内容一致. 测试软件为 siege,测试os为cenos6 64位,测试命令为: 1 siege -c 100 -r 100 -b http://127.0.0.1:5000/ django测试结果为: 1

阿里云CentOS 7.4 使用Flask建站

python web 部署方式为:nginx + gunicorn + supervisor + flask 一.准备工作,先来安装pip 详细教程如: 1.首先检查linux有没有安装python-pip包,直接执行 yum install python-pip ※显示No package python-pip available. 则没有,继续如下操作 2.没有python-pip包就执行命令 yum -y install epel-release 3.执行成功之后,再次执行yum inst

《Flask Web开发:基于Python的Web应用开发实战》pdf 免费下载

<Flask Web开发:基于Python的Web应用开发实战>pdf 免费下载链接: https://u253469.ctfile.com/fs/253469-292665036 第一部分 Flask 简介第1 章 安装 .........................................................................................................................................

部署flas到服务器:No module named flask

首先,你要先把nginx和uwsgi安装好(个人觉得这搭起来比较舒服),可以通过pip 或者源安装,具体方法在前面我有提到过,好了接下来我就讲讲我的踩坑经历与解决办法. 我先采用的pip  install flask的方法,原因是比较简单,可后来问题一大堆,当我好不容易安装完flask,突然发现发现一个博主好建议,具体如下: 安装虚拟环境 1.虚拟环境的使用是为了防止服务器上项目过多导致环境混乱,即有可能会出现python2与python3之间的冲突或者项目使用的框架不一致,所以虚拟环境是有必要