重看mega-tutorial,总结

1.imp模块,This module provides an interface to the mechanisms used to implement the import statement. It defines the following constants and functions:

imp. new_module(name)

Return a new empty module object called name. This object is not inserted in sys.modules.

imp. load_module(name, file, pathname, description )

imp.find_module(name[, path])


2.db_imgrate 记录数据库模式变化,db_upgrade才是改变数据库的。


3.iv中。用虚拟环境中的python运行另一个文件夹中的东东,报错

两种方法:

 方法一:
在cmd下,运行时在microblog文件夹下,指定python的版本C:\Users\hugleecool\Pycharm\microblog\flask\Scripts\python

方法二:
在pycharm设置中修改python解释器的路径至上面的环境。
然后Tools-Open Terminal

4.对models修改后,应该先运行db_migrate记录修改,再运行db_ungrade更新数据库。如果之前import过,现在应该退出python再import。因为不是reloaded

5.SQLAlchemy 错误处理:
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with
 this Session, first issue Session.rollback(). Original exception was: (IntegrityError) column nickname is not unique u'INSERT INTO user (nickname, email, ro
le) VALUES (?, ?, ?)' ('lee', '46@qq.com', 0)

原因: 当一个 SQL 事务出错时,唯一能做的就是回滚该事务,否则该会话(好像是与数据库连接同生命期)将不再接受任何语句
可以用with语句,也可以直接用异常处理回滚事物:
db.session.add(site)
try:
    db.session.commit()
except:
    db.session.rollback()


6.第6节profile and avatars。
{%extends "base.html"%}记住是英文标点,我用了中文的{}
<a href="">拼写错误。
也就是说,错误大都来源于拼写等错误,好好研究。


7.第8节。关于多行注释:
a.注释最好用 # 。
b.""" """其实是doc String,用于描述函数模块等描述
c.使用三引号注释时,也要注意上下文缩进
d.在pycharm中,用Ctrl + / 来批量注释


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值