Flask 学习问题记录

1,没有个table设置主键的情况下,却设置了个外键,导致出现DB无发变更。

sqlalchemy.exc.ArgumentError: Mapper Mapper|Content_of_bbs|contents could not assemble any primary key columns for mapped table 'contents'

class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer,primary_key = True,autoincrement=True)
    telephone=db.Column(db.String(11),nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(100), nullable=False)

class Content_of_bbs(db.Model):
    __tablename__='contents'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)#不设置,会导致错误。。。
    user_id=db.Column(db.Integer,db.ForeignKey('user.id'))
    content=db.Column(db.TEXT())
    time=db.Column(db.DATETIME)

2,装饰器没有返回错误

return wrapper位置不对,导致login_requied没有返回值。出现以下错误:
  File "C:\Python27\lib\site-packages\flask\app.py", line 1011, in add_url_rule
    endpoint = _endpoint_from_view_func(view_func)
  File "C:\Python27\lib\site-packages\flask\helpers.py", line 68, in _endpoint_from_view_func
    assert view_func is not None, 'expected view func if endpoint ' \
AssertionError: expected view func if endpoint is not provided.
def login_requied(func):
    @wraps(func)
    def wrapper(*args,**kwargs):
        if session.get('user_id'):
            return func(*args,**kwargs)
        else:
            return redirect(url_for('login'))
    return wrapper

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值