買了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 資料型別,列名...