首页   注册   登录
 mink 最近的时间轴更新

mink

d.b
V2EX 第 113638 号会员,加入于 2015-04-27 09:46:25 +08:00
python 属性访问疑问
  •  1   
    Python  •  mink  •  2016-01-08 10:53:07 AM  •  最后回复来自 mink
    15
    mink 最近回复了
    @sevenQu 你如果想要调用模块, 可以使用别名来修改模块在局部作用于的变量名 import app.models.wordRepertory as xxxx
    @sevenQu 我刚试了一下, 你这个创建不了不是 sqlalchemy 的问题, 而是你在函数中 import app.models.wordRepertory 的话, 会把 app 变量改成导入的当前模块, 也就是 app/__init__.py 这是因为 import 会把模块的名称默认导入到作用于中, 也就是把 Flask 实例, 改成了模块对象, 之后你在 db.init_app 中调用 就出错了
    @sevenQu 就算你没有导入模型, 在你的模型类继承 db.models 的时候, db 就会把这些模型记录下来。db.create_all() 是把所有跟 db 绑定的模型创建出来。 所以只要 db.models 绑定了模型, 然后执行 create_all 命令就会创建数据表
    @sevenQu flask-migrate 的 init 只是创建 migrations 的相关文件后续需要执行,migration 和 upgrade 才会记录版本和生成迁移脚本执行数据库初始化 https://juejin.im/post/5b1935355188257d492ae266
    @sevenQu 我不清楚 migrate 会不会自动生成数据表, 但是可以通过 db.create_all()完成初始化
    ````python
    @manager.command
    def init():
    db.create_all()

    $ python manage.py init

    ```
    不需要, 你在上面通过 from app.models import db 已经把模型和 db 绑定在一起了。create_app 中 db.init_app 是把 db 和当前的应用绑定在一起 只要使用 db.create_all 方法就可以调用 不需要引入模型
    我外婆家在一个郊区旁边的监狱一直把排污水放到河里面,我小时候清澈的河变成了臭水沟,而且这个合适附近所有村子的田里流的,后来都直接从地下打水用了,几个村子联合告了监狱没告赢, 呵呵。
    25 天前
    回复了 hansonwang99 创建的主题 程序员 从一份配置清单详解 Nginx 服务器配置
    👍👍👍👍👍👍
    @bxb100 还是有问题, 我测试错了
    ```python
    article_gen = (article for article in articles if article.text.find(lang) >= 0)
    print(lang, next(article_gen))
    result.append((lang, article_gen))
    ```
    我实在里面试了一下, 最后输出的还是跟楼主发的一样。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   1790 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 10ms · UTC 08:05 · PVG 16:05 · LAX 01:05 · JFK 04:05
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1