flask查询whois信息实例
flask基础实现不再赘述,不了解的同学可以通过官方文档学习
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms
Step 1 新建查询whois信息的form类
在forms.py中添加如下代码:
# -*- coding: utf-8 -*-from flask.ext.wtf import Formfrom wtforms import StringFieldfrom wtforms.validators import DataRequiredclass WhoisForm(Form): myDomain = StringField('myDomain', validators=[DataRequired()])
很简单,跟官方教程差不多
Step 2 创建Whois信息模板
新建一个whois.html文件,代码如下:
GetWhois![超级产品经理](https://segmentfault.com/a/static/images/logo.png)
这里只为做实例,所以没有设置继承模板,如果是一个整体的项目,建议通过继承实现,保持风格一致。
实例通过whois模块得到相关信息,返回的结果是一个字典,如图所示
## Step 3 Whois函数实现在views.py中添加实现代码
@app.route('/whois',methods=['GET','POST'])
def Whois():
form = WhoisForm()
if form.validate_on_submit():
info_dict = GetWhois.MyWhois(form.myDomain.data)
return render_template('whois.html',form = form, info = info_dict)
return render_template('whois.html',form = form)
其中GetWhois.MyWhois函数的实现,在GetWhois.py中实现,具体为
!/usr/bin/env python
-- encoding: utf-8 --
import whois
def MyWhois(mydomain):
try:
w = whois.whois(mydomain)
return w
except Exception,e:
print Exception,e
return {}
ok,程序到这里基本可以实现需要的内容了,查询效果如图![超级产品经理](https://v1cdn.imspm.com/imspm.com超级产品经理2016062410qio1qlrfzo0.png) {% endfor %} {% else %} {{ info[key] }} {% endif %}{%endfor%} [br]
执行后看效果图,What The Fuck!!!字符串也被分解打印了。
{% endfor %}
{% else %}
{{ info[key] }}
{% endif %}
{%endfor%}
[br]
终于乖乖的出来了我们期盼的结果## 小结实例写完后,目录结构为
|app
| |__init.py
| |__forms.py
| |GetWhois.py
| |static
| | |images
| | | |logo.png
| |templates
| | |whois.html
| |views.py
|config.py
|run.py
|tmp
学习了flask的form基本实现,jinja2的部分语法。**附录 内建检查器:**
'''callable(object)'''
对象是否可调用
'''defined(value)'''
对象是否已定义
'''divisibleby(value, num)'''
value是否可以被num整除
'''escaped(value)'''
是否已转义
'''even(value)'''
是否为奇数
'''iterable(value)'''
是否可以循环
'''lower(value)'''
是否为小写
'''none(value)'''
是否为None
'''number(value)'''
是否为数字
'''odd(value)'''
是否为偶数
'''sameas(value, other)'''
value是否与other为同一个对象实例
'''sequence(value)'''
是否为序列
'''string(value)'''
是否是字符串
'''undefined(value)'''
是否未定义
*'''upper(value)'''
是否为大写
#flask、jinja2、whois、Python#
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!