老师,管理员怎么添加
来源:7-1 .管理员登录
3Words
2017-08-07
这节课中,有了admin,我想问一下, 我该怎么添加管理员。
写回答
2回答
-
rustgopy
2017-08-09
同学,你好,3-7节课不完整,正在重新上传,请见谅!
00 -
rustgopy
2017-08-07
同学你好,可以使用该方法添加管理员:
role = Role( name="超级管理员", auths="" ) db.session.add(role) db.session.commit() from werkzeug.security import generate_password_hash admin = Admin( name="imoocmovie", pwd=generate_password_hash("imoocmovie"), is_super=0, role_id=1 ) db.session.add(admin) db.session.commit()
如果出现错误sqlalchemy.exc.InvalidRequestError: Table 'user' is already defined for this MetaData instance,可以在每个模型上加__table_args__ = {"useexisting": True},用会员模型用如下方法:
# 会员 class User(db.Model): __tablename__ = "user" __table_args__ = {"useexisting": True}
完整定义:
from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql import os app = Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:root@127.0.0.1:8889/movie" app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True db = SQLAlchemy(app) # 会员 class User(db.Model): __tablename__ = "user" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 昵称 pwd = db.Column(db.String(100)) # 密码 email = db.Column(db.String(100), unique=True) # 邮箱 phone = db.Column(db.String(11), unique=True) # 手机号码 info = db.Column(db.Text) # 个性简介 face = db.Column(db.String(255), unique=True) # 头像 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 注册时间 uuid = db.Column(db.String(255), unique=True) # 唯一标志符 userlogs = db.relationship('Userlog', backref='user') # 会员日志外键关系关联 comments = db.relationship('Comment', backref='user') # 评论外键关系关联 moviecols = db.relationship('Moviecol', backref='user') # 收藏外键关系关联 def __repr__(self): return "<User %r>" % self.name def check_pwd(self, pwd): from werkzeug.security import check_password_hash return check_password_hash(self.pwd, pwd) #其它模型省略 if __name__ == "__main__": db.create_all() # 创建所有模型
0162017-08-09
相似问题