【问题标题】:Python importing (in Flask)Python 导入(在 Flask 中)
【发布时间】:2014-05-01 22:52:41
【问题描述】:

我正在尝试设置一种方式,让 2 个人可以在一个烧瓶项目上工作而不会发生冲突

在flask框架中,url响应如下:

在 ~/application/urls.py 中

from flask import render_template
from application import app
from application import views

app.add_url_rule('/function1', view_func=views.function1)

在 ~/application/views.py 中

def function1():
    #something here
return

在 ~/application/__init__.py 中

import urls
#and other things

现在我想做的是有 2 个编码器, 每个人都编写他/她自己的 coder_urls。和 coder_views 在他们自己的文件中

然后在主要的 urls.py 和 views.py 中,我只需从文件中导入它们,这样 2 位编码人员就可以分别编码,我可以轻松地将它们组合起来。

我猜:coder1_urls.py

import coder1_views
app.add_url_rule('/coder1/function1', view_func=coder1_views.coder1function1) 
#this may need change

coder1_views.py

def coder1function1():
    #something here
    return

类似于coder2。

我该怎么做? 我应该如何安排文件并为我的主要 urls/views 文件编写导入?

【问题讨论】:

    标签: python flask python-import


    【解决方案1】:

    您可以通过多种方式做到这一点。我会推荐其中两个。
    第一个建议:创建一个包含编码器模块的 coders

    ~/application/__init__.py
    ~/application/coders/__init__.py
    ~/application/coders/foo.py
    ~/application/coders/bar.py
    ~/application/views.py
    ~/application/urls.py
    ...
    

    您可以在 views 模块中导入编码器函数:

    from application.coders.foo import foo_coder_fucntion
    from application.coders.bar import bar_coder_function
    

    第二个建议:创建一个views包,并为每个编码器专用一个模块视图

    ~/application/__init__.py
    ~/application/views/foo.py
    ~/application/views/bar.py
    ~/application/views/main.py
    ~/application/urls.py
    ...
    

    在模块中你启动烧瓶应用程序:

    import application.views.foo
    import application.views.bar
    import application.views.main
    

    我更喜欢第一个。

    【讨论】:

      猜你喜欢
      • 2022-11-17
      • 2017-08-04
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多