zoukankan      html  css  js  c++  java
  • admin.py

    from flask import Blueprint, render_template, request, redirect, url_for, url_for, send_from_directory
    from flask import Response, Flask
    from waws_app.utils import tools
    
    admin_blueprint = Blueprint('admin', __name__)
    from flask_ckeditor import CKEditor, CKEditorField, upload_fail, upload_success
    import os
    from . import PostForm
    from . import mysql_
    import time
    
    basedir = "/static/uploads/images"
    
    url_category_dict = {
        1:"深度学习",
        2:"前端&后端",
        3:"CV&NLP",
        4:"爬虫",
        5:"其他"
    }
    
    
    @admin_blueprint.route("/admin")
    def get_admin():
        return render_template("./admin/index.html")
    
    
    @admin_blueprint.route("/admin/artile_list")
    def get_buttons():
        return render_template("./admin/artile_list.html")
    
    
    @admin_blueprint.route("/admin/power_set")
    def get_rabc():
        return render_template("./admin/power_set.html")
    
    
    @admin_blueprint.route("/admin/profile")
    def get_prefile():
        return render_template("./admin/profile.html")
    
    
    @admin_blueprint.route("/admin/login")
    def get_login():
        return render_template("./admin/login.html")
    
    
    @admin_blueprint.route("/admin/gallery")
    def get_gallery():
        return render_template("./admin/gallery.html")
    
    
    @admin_blueprint.route("/admin/edit_pwd")
    def get_pwd():
        return render_template("./admin/edit_pwd.html")
    
    
    @admin_blueprint.route("/admin/doc")
    def get_doc():
        return render_template("./admin/doc.html")
    
    
    @admin_blueprint.route("/admin/add_prefect_url")
    def add_prefect_url():
        category_list = [{"id":key,"doc":value}for key,value in url_category_dict.items()]
        return render_template("./admin/add_prefect_url.html",category_list=category_list)
    
    
    @admin_blueprint.route("/admin/add_prefect_url_action",methods=['GET', 'POST'])
    def add_prefect_url_action():
        type = request.form.get("type")
        name = request.form.get("name")
        url = request.form.get("url")
        sql = "insert into prefect_blog_url(name,url,category) VALUES(%s,%s,%s)"
        mysql_.cursor.execute(sql,[name,url,type])
        mysql_.conn.commit()
        return render_template("./admin/index.html")
    
    
    @admin_blueprint.route('/admin/add_doc', methods=['GET', 'POST'])
    def index():
        sql = "select id,category from category"
        category_list = []
        mysql_.cursor.execute(sql, )
        category_ = mysql_.cursor.fetchall()
        for category in category_:
            category_list.append({"id": category[0], "doc": category[1]})
    
        sql = "select id,name from author"
        author_list = []
        mysql_.cursor.execute(sql, )
        author_ = mysql_.cursor.fetchall()
        for author in author_:
            author_list.append({"id": author[0], "name": author[1]})
        form = PostForm()
        return render_template('./admin/add_doc.html', form=form, category_list=category_list, author_list=author_list)
    
    
    @admin_blueprint.route("/login", methods={"POST"})
    def login():
        username = request.form.get("username")
        password = request.form.get("password")
        captcha = request.form.get("captcha")
        if username == "waws520" and password == "123456":
            return render_template("./admin/index.html")
        else:
            return render_template("./admin/error.html")
    
    
    @admin_blueprint.route("/admin/add_article", methods={"POST"})
    def add_article():
        form = PostForm()
        type = request.form.get("type")
        author = request.form.get("author")
        title = request.form.get("title")
        seo_keywords = request.form.get("seo_keywords")
        tags = request.form.get("tags")
        f = request.files.get('file')
        filename = tools.create_uuid() + "." + f.filename.split(".")[-1]
        file_sql_path = os.path.join(basedir, filename)
        print(file_sql_path)
        file_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + "/static/uploads/images/" + filename
        f.save(file_path)
    
        sql = "insert into picture(pic_url) values(%s)"
        mysql_.cursor.execute(sql, [file_sql_path])
        mysql_.conn.commit()
        pic_id = mysql_.cursor.lastrowid
    
        if form.validate_on_submit():
            body = form.body.data
            sql = "insert into article(title,author_id,info,content,category_id,pic_id) values(%s,%s,%s,%s,%s,%s)"
            mysql_.cursor.execute(sql, [title, author, seo_keywords, body, type, pic_id])
            mysql_.conn.commit()
            return render_template("./admin/index.html")
            # return render_template("./admin/article_detail.html",body=body)
        else:
            return render_template("./admin/error.html")
    
    
    @admin_blueprint.route('/static/uploads/images_/<filename>')
    def uploaded_files(filename):
        path = os.path.join(basedir, filename)
        return send_from_directory(path, filename)
    
    
    @admin_blueprint.route('/upload', methods=['POST'])
    def upload():
        f = request.files.get('upload')
        extension = f.filename.split('.')[-1].lower()
        if extension not in ['jpg', 'gif', 'png', 'jpeg']:
            return upload_fail(message='Image only!')
        filename = tools.create_uuid() + "." + f.filename.split(".")[-1]
        file_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + "/static/uploads/images_/" + filename
        f.save(file_path)
        time.sleep(2)
        url = url_for('admin.uploaded_files', filename=filename)
        return upload_success(url=url)

    admin.py

  • 相关阅读:
    02、书店寻宝(一)
    01、博客爬虫
    00、下载文件
    068、Calico的网络结构是什么?(2019-04-11 周四)
    067、如何部署Calico网络 (2019-04-10 周三)
    066、Weave如何与外网通信?(2019-04-09 周二)
    065、容器在Weave中如何通信和隔离?(2019-04-08 周一)
    064、Weave网络结构分析(2019-04-04 周四)
    063、如何使用weave网络(2019-04-03 周三)
    CMD运行指令
  • 原文地址:https://www.cnblogs.com/waws1314/p/14614318.html
Copyright © 2011-2022 走看看