首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

flask 如何将 models 文件拆成几个文件?,我新建了一个 models 文件夹发现无法引入 db?求解

  •  
  •   sevenQu · 120 天前 · 821 次点击
    这是一个创建于 120 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 错误提示:Attempted relative import beyond top-level package

    • 结构如图,但是使用 from .. import db 引入失败,可以使用 from app import db

    • 我查了教程,import 的引入机制,看的我有点懵,有没有什么容易懂的说明
      ----------分割线-----------

    • 我目前有一个 sql 文件,执行的话,会直接导入一些数据,使用 sqlalchemy 怎么对接

    • 例如 varchar ( 100 ),int ( 10 ),怎么和 sqlalchemy 的 integer,string 对应

    • int ( 10 )我觉得是和 integer 对应,但是 integer 没有长度限制

    • 勉强试了一下发现提示 TypeError: 'list' object is not callable,弄得我不知所措

    • 希望有经验的人可以指点一下

    4 回复  |  直到 2018-03-18 20:18:22 +08:00
        1
    testcount   120 天前 via Android
    model 文件下建议拆分成多个业务的 model,在里面导入业务 model 外的用绝对导入(提前设好 PYTHONPATH ),包内导入就用你那种相对导入。

    int(n) 里面的 n 只是代表在 client 的显示宽度。不代表 integer 的存储大小,没什么特别的意义。
        2
    sevenQu   120 天前
    @testcount 对,第二个我明白了,我就是想根据不同的业务分成不同的 model 文件,我不太明白你说的导入方式
        3
    testcount   120 天前 via Android
    @sevenQu 先了解下 Python 相对导入和绝对导入吧..用你的例子就是 from xx.app import db .
        4
    sevenQu   120 天前
    @testcount 可不可以给我一个 models 拆分的例子?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   1419 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 45ms · UTC 16:30 · PVG 00:30 · LAX 09:30 · JFK 12:30
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1