讀書筆記 FLASK 留言板

2021-10-07 21:30:35 字數 3080 閱讀 8455

買了flask相關的兩本書,一本狼,一本狗,開始對flask進行學習。

直接翻到案例篇,大致瀏覽下思路,咱的目標是參照思路自己寫。

專案結構

資料庫

models.py

from datetime import datetime

from sayhello import db

class message(db.model):

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

body = db.column(db.string(200))

name = db.column(db.string(20))

timestamp = db.column(db.datetime,default=datetime.now,index=true)

#建立資料庫**

#db.create_all()

直接用db.create_all()就可以建立**了

__init.py__

from flask import flask

from flask_sqlalchemy import sqlalchemy

from flask_bootstrap import bootstrap

#配置資料庫資訊

from sayhello import views,errors

from sayhello import views,errors

不然到時候路由就找不到了。

那為什麼要寫在最後一行呢?書裡寫的很清楚避免出現互相引用出錯的情況。

我這裡用的python3.6,連線的是mysql,用的庫是pymysql

所以在資料庫位址那塊要寫成mysql+pymysql。

檢視函式

分兩個檔案,乙個用來定義首頁,乙個用來定義錯誤頁面

views.py

from flask import flash,redirect,url_for,render_template

from sayhello.models import message

from sayhello.forms import helloform

def index():

form = helloform()

if form.validate_on_submit():

name = form.name.data

body = form.body.data

message = message(body=body,name=name)

db.session.add(message)

db.session.commit()

return redirect(url_for('index'))

messages =message.query.order_by(message.timestamp.desc()).all()

return render_template('index.html',form=form,messages=messages)

errors.py

from flask import render_template

def page_not_found(e):

return render_template('errors/404.html'), 404

def internal_server_error(e):

return render_template('errors/500.html'), 500

頁面表單

froms.py

from flask_wtf import flaskform

from wtforms import stringfield,submitfield,textareafield

from wtforms.validators import datarequired,length

class helloform(flaskform):

name = stringfield('name',validators=[datarequired(),length(1,20)])

body = textareafield('message',validators=[datarequired(),length(1,200)])

submit = submitfield()

html分base.html ,index.html,404.html,500.html

均以base.html為基礎。

通過來預留位置。

其他頁面繼承基礎頁,需要替換內容時,直接替換block中的內容。

例如index.html裡,繼承的是block content

表單提交操作,注釋掉的那塊和}的效果是一樣的

執行效果:

留言板骨架

顯示頁 form action lyb index.php index insert.html method post input name text type text value 表單提交 action位址要換成thinkphp裡的u方法,也就是去控制器裡找方法,這個方法負責接收post來的資料...

PHP留言板 一看就會的留言板

1.資料庫建立乙個message表用來儲存資料 2.連線資料庫 我是原生代pdo host 127.0.0.1 port 3306 埠 username root 使用者名稱 password root 密碼 dbname 表名 dsn mysql dbname dbname host host 拼...

PHP Mysql 實現留言板

這其中後台需要便於讀寫資料的乙個工具,我選擇mysql資料庫來幫助我完成這些事。我寫了主要是三個php檔案,分別是 conn.php 連線資料庫 1.準備建立資料庫表的結構,下面是我的表結構在phpmyadmin下的截圖 create table 表名稱 列名稱1 資料型別,列名稱2 資料型別,列名...