资源简介

        web方式管理自己的常用链接,链接默认分类为4项: 测试环境、预览环境、生产环境、其他, 可更改templates下html文件中的相应文字改变分类名称。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
# 程序名称: 常用链接
# 程序功能: 以web方式管理自己的常用链接链接默认分类为4项: 测试环境、预览环境、生产环境、其他 可更改templates下html文件中的相应文字改变分类名称
# 作者: LaoYe
# Email: 44915901@qq.com 
# 说明: 此程序在Python3.5环境下开发更高版本以上如发现不能正常使用请降低版本
#      运行此程序需Python环境下安装有Flask、flask_sqlalchemy运行后本地能过网页访问127.0.0.1即可


from flask import Flask request flash url_for redirect render_template
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.debug = True  #调试模式,修改代码即能生效
app.config[‘SQLALCHEMY_DATAbase_URI‘] = ‘sqlite:///My_link.sqlite3‘
#app.config[‘SQLALCHEMY_DATAbase_URI‘] = ‘mysql+pymysql://root:pw@ip:port/databasename‘      #连接mysql数据库
app.config[‘SECRET_KEY‘] = “random string“

db = SQLAlchemy(app)

class Mylinks(db.Model):
    id = db.Column(db.Integer primary_key = True)
    name = db.Column(db.String(200))
    url = db.Column(db.String(500))
    mark = db.Column(db.String(20)) 
    sort = db.Column(db.Integer)
    
    def __init__(self name url mark sort):
        self.name = name
        self.url = url
        self.mark = mark
        self.sort = sort


def grouping(datas):
group_datas=[]
group_data=[]
x=0
y=0
for data in datas:
the_data=[data.namedata.url]
group_data.append(the_data)
x=x+1
y=y+1
if x==4 or y==datas.count():
group_datas.append(group_data)
group_data=[]
x=0
return group_datas
        
@app.route(‘/‘)
def show_all():
Tests = Mylinks.query.order_by(Mylinks.sort).filter(Mylinks.mark == ‘test‘)
Reviews = Mylinks.query.order_by(Mylinks.sort).filter(Mylinks.mark == ‘review‘)
Products = Mylinks.query.order_by(Mylinks.sort).filter(Mylinks.mark == ‘product‘)
Others = Mylinks.query.order_by(Mylinks.sort).filter(Mylinks.mark == ‘other‘)
data_all=[]
data_all.append(grouping(Tests))
data_all.append(grouping(Reviews))
data_all.append(grouping(Products))
data_all.append(grouping(Others))
return render_template(‘My_links.html‘My_links = data_all)

@app.route(‘/new‘ methods = [‘GET‘ ‘POST‘])
def new():
if request.method == ‘POST‘:
if not request.form[‘name‘] or not request.form[‘input_url‘]:
flash(‘Please enter all the fields‘ ‘error‘)
else:
last_data = Mylinks.query.order_by(Mylinks.sort.desc()).filter(Mylinks.mark==request.form[‘mark‘]).first()  #查出上一个数据
if last_data:
the_sort=last_data.sort+10
else:
the_sort=10
the_link = Mylinks(request.form[‘name‘] request.form[‘input_url‘]request.form[‘mark‘]the_sort)
print(request.form[‘input_url‘])
db.session.add(the_link)
db.session.commit()
#flash(‘已成功添加新链接!!!‘)
return redirect(url_for(‘show_all‘))
return render_template(‘My_links_new.html‘)

@app.route(‘/list‘)    
@app.route(‘/list/‘)
@app.route(‘/list//‘)
def list(the_mark=‘all‘page=1):
if the_mark==‘all‘:
pagination = Mylinks.query.order_by(Mylinks.markMylinks.sort).paginate(page10False)
else:
pagination = Mylinks.query.order_by(Mylinks.markMy

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5138  2021-01-13 15:31  Mylink\My_link.py

     文件         49  2018-11-08 14:26  Mylink\static\hello.js

     文件       5664  2019-08-28 11:54  Mylink\static\images\tool.png

     文件       2815  2019-08-28 17:29  Mylink\templates\My_links.html

     文件       2082  2019-03-05 19:33  Mylink\templates\My_links_edit.html

     文件       1678  2019-03-06 19:06  Mylink\templates\My_links_list.html

     文件       1802  2019-01-17 12:58  Mylink\templates\My_links_new.html

     文件       1248  2019-03-06 14:34  Mylink\templates\_macros.html

     目录          0  2020-04-26 19:21  Mylink\static\images

     目录          0  2020-04-26 19:21  Mylink\static

     目录          0  2020-04-26 19:40  Mylink\templates

     目录          0  2021-01-13 15:33  Mylink

----------- ---------  ---------- -----  ----

                20476                    12


评论

共有 条评论