flask admin 快速打造部落格 系列一

2021-09-14 03:27:58 字數 2985 閱讀 8973

flask-admin是基於flask框架的,所以你必須先對flask有乙個整體的認識和學習,至少需要知道怎麼使用請求,模板響應,資料庫使用等等。

1)route 請求的路由規則

2)sqlalchemy 或者其他資料框架的增刪改

3)jinja2框架 模板響應的使用

1)我們來搭建乙個flask的使用框架,如果還沒有入門的同學,可以藉此入一下門。

新建乙個專案:file->new project…..

在控制台輸入:python cleanblog.py 啟動服務

3)整合改造

3.1 整合blueprint

from flask import blueprint

blog = blueprint('main', __name__)

from . import views

# 藍圖

from .blog import blog as main_blueprint

# coding:utf-8

#views.py

from . import blog

@blog.route("/baseinfo",methods=['get'])

def getbaseinfo():

return "zhe是 測試頁面"

那麼請求路徑就是 www.m***.com/***x/baseinfo

3.2 國際化

國際化使用的babelx,乙個比較老的庫,不是很理想,如果自定義後台頁面也許就不需要這麼乙個庫;而且現在babelx的版本要跟flask對得上,不然會有各種異常的

需要在config.py 配置:

babel_default_locale = 'zh_hans_cn'

#國際化

from flask_babelex import babel

3.3 本地日期渲染然後再模板就可以使用:

}

}  //在前端中通過方法引用moment.js檔案

}  //將moment.js本地化,否則渲染出來的時間日期都是英文的

}

可參考:

4.5 整合sqlalchemy

這是我們的乙個重點:

第一步:註冊:

db = sqlalchemy()

#coding: utf-8

import hashlib

from datetime import datetime

from . import db

#使用者表

class user(db.model):

id = db.column(db.integer, primary_key=true)

email = db.column(db.string(64), unique=true, nullable=false)

username = db.column(db.string(64), unique=true, nullable=false)

role = db.column(db.string(64), nullable=true)

password_hash = db.column(db.string(128))

head_img = db.column(db.string(128), unique=false, nullable=true)

create_time = db.column(db.datetime, nullable=true,default=datetime.now)

def verity_password(originpassword, password):

newpassword = common.md5(originpassword)

return password == newpassword

def __repr__(self):

return '' % self.username

第三步:生成表

gendb.py 主要是生成資料庫表指令碼的,可以不用,你直接去資料庫生成也可以的

from flask_script import manager

from flask_migrate import migrate, migratecommand

# configuration

# sqlalchemy_database_uri = 'mysql:'

manager.add_command('db',migratecommand)

if __name__ == '__main__':

manager.run()

"""python gendb.py db init

python gendb.py db migrate

python gendb.py db upgrade

"""

其實這個檔案是可以通過,然後直接在cmd控制台輸入:

python gendb.py db init (僅第一次使用的時候需要,生成migrations的目錄包)

python gendb.py db migrate (生成資料表)

python gendb.py db upgrade (同步到資料庫)

第一版就先搭建到這裡,接下來我們進入整合flask-admin

Flask admin 筆記一 (快速啟用)

1,快速啟用 1 安裝flask admin pip install flask admin2 配置使用 from flask import flask from flask admin import admin 後台管理系統 2,增加模型檢視 其實,這裡指的模型是資料模型,通過資料模型對映到資料庫...

教你打造優秀IT博文

談起寫部落格,就不得不說說寫部落格的目的。雖然眾人開博目的不一,但無非不外乎 寫給自己,和寫給別人。寫給自己,一種是學習記錄,鞏固自己的學習過程,一種是工作筆記,方便今後查閱。寫給別人,就是分享,讓自己的經驗教訓幫助別人成長。其實,這兩個目的往往是分不開的。目的既然已經明確了,那部落格要怎麼寫?如果...

基於PECL OAuth打造微博應用

最近,國內主要門戶 相繼開放了微博平台,對開發者而言這無疑是個利好訊息,不過在實際使用中卻發現平台質量良莠不齊,有很多不完善的地方,就拿php版sdk來說吧,多半都是用twitteroauth 改的,一旦多平台整合,很容易出現命名衝突之類的問題。既然官方sdk不給力,那我們只能發揚自力更生的革命精神...