在flask中,模板變數可以進行加減運算的
>
>
name = }p
>
>
age = }p
>
>
my_dict: city= }p
>
>
my_dict: city= }p
>
>
my_list: }p
>
>
my_list[my_int]: }p
>
>
my_list[0] + my_list[1] = }p
>
>
}p>
body
>
帶引數的巨集
type
="}"
name
="}"
value
="}"
size
="}"
/>
把巨集單獨封裝在html檔案中
如該模板檔案不存在,則會丟擲異常,加上ignore missing
時,則會忽略包含語句
常用的sqlalchemy欄位型別
型別名python中型別
說明integer
int普通整數,一般是32位
smallinteger
int取值範圍小的整數,一般是16位
biginteger
int或long
不限制精度的整數
float
float
浮點數numeric
decimal.decimal
普通整數,一般是32位
string
str變長字串
text
str變長字串,對較長或不限長度的字串做了優化
unicode
unicode
變長unicode字串
unicodetext
unicode
變長unicode字串,對較長或不限長度的字串做了優化
boolean
bool
布林值date
datetime.date
時間time
datetime.datetime
日期和時間
largebinary
str二進位制檔案
常用的sqlalchemy列選項
選項名說明primary_key
如果為true,代表表的主鍵
unique
如果為true,代表這列不允許出現重複的值
index
如果為true,為這列建立索引,提高查詢效率
nullable
如果為true,允許有空值,如果為false,不允許有空值
default
為這列定義預設值
常用的sqlalchemy關係選項
選項名說明backref
在關係的另一模型中新增反向引用
primary join
明確指定兩個模型之間使用的聯結條件
uselist
如果為false,不使用列表,而使用標量值
order_by
指定關係中記錄的排序方式
secondary
指定多對多中記錄的排序方式
secondary join
在sqlalchemy中無法自行決定時,指定多對多關係中的二級聯結條件
from flask import flask
from flask_sqlalchemy import sqlalchemy
class
config
(object):
"""配置引數"""
# sqlalchemy的配置引數
sqlalchemy_database_uri =
"mysql:"
# 設定sqlalchemy自動更跟蹤資料庫
sqlalchemy_track_modifications =
true
# 建立資料庫sqlalchemy工具物件
class
role
(db.model)
:"""使用者角色/身份表"""
__tablename__ =
"tbl_roles"
# 指明資料庫的表名
id= db.column(db.integer, primary_key=
true
) name = db.column(db.string(32)
, unique=
true
) users = db.relationship(
"user"
, backref=
"role"
)# 表名的常見規範:資料庫名縮寫_表名
# 建立資料庫模型類
class
user
(db.model)
:"""使用者表"""
__tablename__ =
"tbl_users"
id= db.column(db.integer, primary_key=
true
)# 整型的主鍵,會預設設定為自增主鍵
name = db.column(db.string(64)
, unique=
true
) email = db.column(db.string(
128)
, unique=
true
) password = db.column(db.string(
128)
) role_id = db.column(db.integer, db.foreignkey(
"tbl_roles.id"
))
id = db.column(db.integer, primary_key=true)
integer為字段型別,primary_key相當於約束;
users = db.relationship("user", backref="role")
相當於給role新增了乙個users屬性,方便從role查詢user中的資訊,backref="role"
反向應用,相當於是給user新增了乙個role屬性,方便反過來查詢
role_id
為外來鍵,db.foreignkey("tbl_roles.id")
指明與哪張表哪個字段關聯
更新
刪除
user = user.query.get(2)
db.session.delete(user)
db.session.commit(
)
Flask框架學習2
def for url return url for my list page 10,count 3 def my list page print 1111111111111111111 url for裡面 第乙個是檢視函式,第二個是url需要的引數,url for裡面多的引數會當做搜尋字元 ret...
小福利,flask框架學習筆記(3)
py檔案 from flask import flask,render template context def if for return render template if for.html context def macro return render template macro.html...
python WEB框架Flask學習
from flask import flask def index return index if name main 方式一 方式二列如 settings.py class config debug true 連線mysql示例 database uri mysql pymysql 資料庫名 開發...