博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask和bootstrp
阅读量:6118 次
发布时间:2019-06-21

本文共 4935 字,大约阅读时间需要 16 分钟。

  hot3.png

1.目录结构:

root@bogon:~# tree flask/yw/flask/yw/├── bootstrap.zip #下载的bootstrap,解压的文件移动到下面的static目录里├── run.py #运行配置文件├── static #静态文件目录,存放静态文件,如:css...等,把bootstrap解压的文件移动到这个目录下│   ├── css│   │   ├── bootstrap.css│   │   ├── bootstrap.min.css│   │   ├── bootstrap-responsive.css│   │   └── bootstrap-responsive.min.css│   ├── fonts│   │   ├── glyphicons-halflings-regular.eot│   │   ├── glyphicons-halflings-regular.svg│   │   ├── glyphicons-halflings-regular.ttf│   │   └── glyphicons-halflings-regular.woff│   ├── img  #图片目录│   │   ├── 2014│   │   │   ├── bing.png      #画的饼状图片│   │   │   └── ttt.png       #画的流量图│   │   ├── glyphicons-halflings.png│   │   └── glyphicons-halflings-white.png│   ├── index.html│   ├── index.html.bak│   └── js│       ├── bootstrap.js│       ├── bootstrap.min.js│       └── npm.js├── static.tar.gz└── templates    #模板文件    ├── admin.html    ├── admin_info.html    ├── base.html    ├── cmd.html    ├── docker.html    ├── fw.html    ├── kvm.html    ├── ll.html    ├── login.html    ├── mode_base_index.html    └── salt.html

2.运行配置文件内容:

root@bogon:~# cat flask/yw/run.py #!/bin/python from flask import Flask,flash,request,render_template,url_for,redirect,session,abort,escapeimport os,sqlite3,datetimeSECRET_KEY = '123456'app = Flask(__name__)app.config.from_envvar('FLASKR_SETTING',silent=True)app.secret_key = '123456'####################################################################################################################@app.route('/',methods=['GET','POST'])def index():    if 'username' not in session or session['username'] == '':        return redirect(url_for('login'))    else:        return redirect(url_for('admin2'))@app.route('/login/',methods=['GET','POST'])def login():    if request.method == 'POST':        session['username'] = request.form['username']        session['passwd']   = request.form['passwd']        username = request.form['username']        passwd = request.form['passwd']        if username == None  or passwd == '':            return redirect(url_for('login'))        #return redirect(url_for('user'))        else:            return redirect(url_for('admin2'))    return render_template('login.html')@app.route('/admin2/',methods=['GET','POST'])@app.route('/admin2/
',methods=['GET','POST'])def admin2(post_info='info',state=None,ser=None):    shell=[]    info=[]    info.append(os.popen('df -m').read())    info.append(os.popen('free -m').read())    info.append(os.popen('uname -a').read())    info.append(os.popen('uptime').read())    info.append(os.popen('ifconfig eth0|grep inet').read())    if 'username' not in session or session['username'] == '':        return redirect(url_for('login'))    else:        username = session['username']    if post_info == 'info':        active='active'        return render_template('admin_info.html',info=info,username=username,active_info=active)    if post_info == 'll':        active='active'        return render_template('ll.html',username=username,active_ll=active)    if post_info == 'fw':        active='active'        if request.method == 'POST':            aa= request.form            fw_active='/etc/init.d/'            if 'start' in aa:os.system("%s%s  start"%(fw_active,aa['start']))            if 'stop' in aa:os.system('%s%s stop'%(fw_active,aa['stop']))            if 'restart' in aa:os.system('%s%s  restart'%(fw_active,aa['restart']))        fw=os.popen('service --status-all').read().split('\n')        fw.remove('')        return render_template('fw.html',fw=fw,username=username,active_fw=active)    if post_info == 'cmd':        active='active'        if request.method == 'POST':            print request.form            cmd = request.form['cmd-txt']            shell= os.popen(cmd).read()        return render_template('cmd.html',shell=shell,username=username,active_cmd=active)    if post_info == 'kvm':        active='active'        return render_template('kvm.html',username=username,active_kvm=active)    if post_info == 'docker':        active='active'        return render_template('docker.html',username=username,active_docker=active)    if post_info == 'salt':        active='active'        return render_template('salt.html',username=username,active_salt=active)    if post_info == 'users':        active='active'        return render_template('salt.html',username=username,active_users=active)    if post_info == 'about':        active='active'        return render_template('salt.html',username=username,active_about=active)@app.route('/logout/')def logout():    session.pop('username',None)    session.pop('passwd',None)    return redirect(url_for('login'))@app.route('/post/
')def show_post(post_id):    return 'post_id:%s' % post_idif __name__ == '__main__':    app.run(host='0.0.0.0',port=80,debug=True)

3.bootstrap改造:

http://v3.bootcss.com/examples/signin/

http://v3.bootcss.com/examples/offcanvas/

4.运行效果:

121040_pB0U_1983678.jpg

121041_OZpt_1983678.jpg

121041_4qvh_1983678.jpg

121042_4W4u_1983678.jpg

121043_v3Ui_1983678.jpg

121044_teEu_1983678.jpg

转载于:https://my.oschina.net/jk409/blog/342141

你可能感兴趣的文章
Java线程池 你知它有多深
查看>>
Python系列之环境安装
查看>>
React使用create-react-app搭建项目工程
查看>>
python parameter参数
查看>>
NSString用copy还是strong修饰
查看>>
nodejs 30行代码 爬豆瓣电影数据
查看>>
新项目创建(MVP retrofit2.0+Rxjava+okhttp3+rxlifecycle)
查看>>
滚动事件 滚动条
查看>>
ReactNative开发 WebStorm下安装ESLint检测JS代码
查看>>

React 基础知识点总结
查看>>
开发Koa 必须用的插件
查看>>
我的Chrome插件
查看>>
线程池-你可能需要知道这些
查看>>
HTTP的请求与响应以及使用Chrome的查看方式
查看>>
美国大学fail
查看>>
Mina粘包,断包问题处理(附完整实例,客户端,服务端)
查看>>
SQL 表连接
查看>>
微信小程序iOS端如何暂停animated动画
查看>>
布隆过滤器
查看>>
Maven 教程之 pom.xml 详解
查看>>