25 flask實現部落格專案

2021-09-27 04:01:31 字數 2857 閱讀 5769

與django的表單驗證類似,flask也可以完成通過表單的驗證擴充套件,這個模組是flask-wtf。

原理是在前端使用h5標籤和屬性完成前端提示和簡單驗證,前端驗證通過後發給後端再次驗證,驗證通過後方可下一步,如果後端驗證失敗,資料回顯。

另外,在flask-wtf也提供了與django類似的csrf。

這種方式不是必須要使用的,根據需要選擇使用即可。

參考**:

1、安裝

django中傳送ajax post請求,需要自己傳送乙個csrf的引數值,步驟是先引入csrf標籤,然後通過選擇器找到它的值,作為ajax的引數傳送過去。那flask中怎麼引入csrf的標籤呢?

引入csrf有兩種方式,如下所示:

flask也可以像django那樣通過python manage.py runserver/shell的操作

2、安裝 pip install flask-script

3、測試命令

這個時候啟動伺服器,可以使用python 檔名.py runserver/shell

flask也可以像django那樣通過python manage.py migrate完成遷移的操作。

3、migrate , (安裝包 pip install flask-migrate)

測試命令

1、初始化:python xx.py db init

2、生成遷移檔案:python xx.py db migrate

3、遷移到資料庫中:python xx.py db upgrade

4、檢視歷史:python xx.py db history

版本回退:python xx.py db downgrade 歷史編號

(一)基於上面的配置實現部落格專案

from main import db

blog_articletype_article = db.table(

'blog_articletype_article',

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

db.column('articletype_id', db.integer, db.foreignkey('blog_articletype.id')),

db.column('article_id', db.integer, db.foreignkey('blog_article.id'))

)class articletype(db.model):

__tablename__ = 'blog_articletype'

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

name = db.column(db.string(100), nullable=false, unique=true)

articles = db.relationship(

'article',

secondary=blog_articletype_article,

backref=db.backref('articletypes', lazy='dynamic')

)class article(db.model):

__tablename__ = 'blog_article'

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

name = db.column(db.string(100), nullable=false, unique=true)

content = db.column(db.text, nullable=false)

publishdate = db.column(db.datetime, nullable=false)

user_id = db.column(db.integer, db.foreignkey('blog_user.id'))

7、web訪問測試

python manage.py db runserver

manage.py執行步驟

flask部落格專案過程錯誤記錄

attributeerror dict object has no attribute email 解決方案 獲取表單資料,書中原始碼email form.data.email改為email form.email.data sqlalchemy.exc.integrityerror pymysql....

Flask 實現部落格基本功能

功能 新使用者註冊register confirm email需要驗證郵箱 使用者登陸login 使用者登出logout 忘記密碼,更改密碼 傳送郵件,從郵箱中跳轉到更改密碼頁面 更改使用者名稱 不登入使用者只能瀏覽頁面 登陸使用者可以發部落格,編輯 刪除自己以前的部落格 頁面展示 分頁導航 只檢視...

基於Flask實現簡單的部落格系統

這是用flask寫的簡單的部落格系統。blog admin 藍圖目錄 views html模板目錄 admin.py url 視 件 article 藍圖目錄 views html模板目錄 admin.py url 視 件 static 靜態檔案目錄 templates html模板目錄 confi...