我试图在类似的django项目中实现mailchimp python API,遵循他们在github上的示例。我试图在基于类的视图中建立连接,但是当我加载视图时,我收到通知
Attribute Error at\
'module' object has no attribute 'session'
它的设置与他们的示例完全相同,错误发生在我定义
的地方 m = get_mailchimp_api()
在跟踪回溯后,我在我的站点包中打开了mailchimp.py文件并看到以下内容:
import requests
class Mailchimp(object):
root = 'https://api.mailchimp.com/2.0/'
def __init__(self, apikey=None, debug=False):
'''Initialize the API client
Args:
apikey (str|None): provide your MailChimp API key. If this is left as None, we will attempt to get the API key from the following locations::
- MAILCHIMP_APIKEY in the environment vars
- ~/.mailchimp.key for the user executing the script
- /etc/mailchimp.key
debug (bool): set to True to log all the request and response information to the "mailchimp" logger at the INFO level. When set to false, it will log at the DEBUG level. By default it will write log entries to STDERR
'''
self.session = requests.session()
追溯在self.session = requests.session()
行结束。
这是我的观点,我试图调用Mailchimp
from app.utils import get_mailchimp_api
import mailchimp
from django.views.generic import TemplateView
class HomeView(TemplateView):
template_name = 'home.html'
# print requests -- this is undefined
m = get_mailchimp_api()
是因为CBV没有请求参数吗?在github示例中,它们显示了在基于函数的视图中进行的连接,其中函数接受请求。如果是这样,我怎样才能将响应传递给CBV?这是Mailchimp在github上提供的确切示例:
def index(request):
try:
m = get_mailchimp_api()
lists = m.lists.list()
except mailchimp.Error, e:
messages.error(request, 'An error occurred: %s - %s' % (e.__class__, e))
return redirect('/')
答案 0 :(得分:0)
Requests没有session()
方法...但是 有Session()
个对象。
听起来像包装中的错误。
答案 1 :(得分:0)
请求别名Session() with session(),这样可能不是问题所在。这几乎听起来像是你的get_mailchimp_api()
方法或某些东西是奇怪的导入。有关类似错误消息的其他stackoverflow问题似乎来自相互导入,拼写错误或其他类似的事情。
可能您的app.utils
模块已导入mailchimp
,like MailChimp's does?如果没有,我会试试。如果是这样,可以从此文件中删除import mailchimp
。