模型分離(選做)

2022-08-22 07:27:07 字數 2560 閱讀 2463

模型分離--讓**更方便管理

新建models.py,將模型定義全部放到這個獨立的檔案中。

新建exts.py,將db = sqlalchemy()的定義放到這個獨立的檔案中。

models.py和主py檔案,都從exts.py中匯入db。

主py檔案:

from flask import

flask,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 import

sqlalchemy

db = sqlalchemy()

models.py檔案:

from werkzeug.security import

generate_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...