给出了一个名为whatmost的django应用,其中有一个名为Channel的模型,我们可以做类似的事情。
import mattermost
for channel in Channel.objects.all():
print(channel)
我希望能够做这样的事情
import mattermost
mattermost.channels.list
我尝试过将带有def list()的channels.py添加到与mostmost / init .py ..
相同的文件夹中。我遇到以下错误。
In [7]: reload(mattermost)
Out[7]: <module 'mattermost' from '/home/csmu/mipgen-django/mattermost/__init__.py'>
In [8]: mattermost.channels.list
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-d4715777f4f1> in <module>()
----> 1 mattermost.channels.list
AttributeError: module 'mattermost' has no attribute 'channels'
如何为django应用python模块添加属性?
channels.py的内容:
import mattermost
def list():
for channel in mattermost.models.Channel.objects.all():
print(channel)
答案 0 :(得分:1)
尝试
from mattermost import channels
print(channels.list())
结果是:
In [1]: import mattermost
In [2]: mattermost.channels.list()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-2-249466f32547> in <module>()
----> 1 mattermost.channels.list()
AttributeError: module 'mattermost' has no attribute 'channels'
In [3]: from mattermost import channels
In [4]: mattermost.channels.list()
list.stub
In [5]:
很近。
答案 1 :(得分:0)
我发现您可以通过将以下内容添加到mostest / __ init__py
中来做到这一点#!/usr/bin/env python
import os, pkgutil
__all__ = list(module for _, module, _ in
pkgutil.iter_modules([os.path.dirname(__file__)]))
然后进行以下工作
import mattermost
from mattermost import *
mattermost.channels.list()
为每个最重要的通道产生输出。