模型分離--讓**更方便管理
新建models.py,將模型定義全部放到這個獨立的檔案中。
新建exts.py,將db = sqlalchemy()的定義放到這個獨立的檔案中。
models.py和主py檔案,都從exts.py中匯入db。
主py檔案:
from flask importflask,request,render_template,redirect,url_for,session
from models import
question,user,comment
from sqlalchemy import
or_,and_
from functools import
wraps
from exts import
dbimport
config
)
exts.py檔案:
from flask_sqlalchemy importsqlalchemy
db = sqlalchemy()
models.py檔案:
from werkzeug.security importgenerate_password_hash, check_password_hash
from datetime import
datetime
from exts import
dbclass
user(db.model):
__tablename__='
user
'id = db.column(db.integer,primary_key=taberror,autoincrement=true)
username = db.column(db.string(20),nullable=false)
_password = db.column(db.string(200), nullable=false) #
內部使用
@property
def password(self): #
外部使用,取值
return
self._password
@password.setter
def password(self, row_password): #
外部使用,賦值
self._password =generate_password_hash(row_password)
def check_password(self, row_password): #
密碼驗證
result =check_password_hash(self._password, row_password)
return
result
class
question(db.model):
__tablename__='
question
'id = db.column(db.integer, primary_key=true, autoincrement=true)
title =db.column(db.string(100), nullable=false)
detail = db.column(db.text, nullable=false)
creat_time=db.column(db.datetime,default=datetime.now)
author_id = db.column(db.integer,db.foreignkey('
user.id'))
author = db.relationship('
user
',backref=db.backref('
question'))
class
comment(db.model):
__tablename__='
comment
'id = db.column(db.integer,primary_key=true,autoincrement=true)
author_id = db.column(db.integer,db.foreignkey('
user.id'))
question_id = db.column(db.integer,db.foreignkey('
question.id'))
creat_time = db.column(db.datetime,default=datetime.now)
detail = db.column(db.text,nullable=false)
question = db.relationship('
question
',backref = db.backref('
comments'))
author = db.relationship('
user
',backref = db.backref('
comments
'))
模型分離(選做)
模型分離 讓 更方便管理 新建models.py,將模型定義全部放到這個獨立的檔案中。新建exts.py,將db sqlalchemy 的定義放到這個獨立的檔案中。models.py和主py檔案,都從exts.py中匯入db。主py from flask import flask,render te...
模型分離(選做)
模型分離 讓 更方便管理 新建models.py,將模型定義全部放到這個獨立的檔案中。from werkzeug.security import generate password hash,check password hash from datetime import datetime from...
Nginx做動靜分離
目標 通過訪問 可以訪問到 e tool nginx nginx 1.12.2 html downlocal 1.jpg 1.在nginx的html中建立資料夾downlocal並放入乙個命名為1.jpg 2.在nginx的conf檔案中新增配置檔案static pool並新增內容 location...