Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误:';模块';对象在Django中不可调用_Python_Django_Forms_Wikipedia Api - Fatal编程技术网

Python 类型错误:';模块';对象在Django中不可调用

Python 类型错误:';模块';对象在Django中不可调用,python,django,forms,wikipedia-api,Python,Django,Forms,Wikipedia Api,我试图在django中添加WikipediaAPI,并通过view.py中的HTML输入处理wikipedia from django.contrib.auth.forms import UserCreationForm from django.shortcuts import render from django.http import HttpResponse import wikipediaapi from .forms import ContactForm, ColorfulConta

我试图在django中添加WikipediaAPI,并通过view.py中的HTML输入处理wikipedia

from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import render
from django.http import HttpResponse
import wikipediaapi

from .forms import ContactForm, ColorfulContactForm

def _form_view(request, template_name='basic.html', form_class=ContactForm):
    if request.method == 'POST':
        form = form_class(request.POST)
        mes = request.POST.get("message")
        search = mes.split(' ')
        query = search[2]
        #return HttpResponse(mes)
        mywiki(query)

        if form.is_valid():
            pass  # does nothing, just trigger the validation
    else:
        form = form_class()
        search_id = request.POST.get('message', None)
    #
    return render(request, template_name, {'form': form})


def mywiki(query):
    wiki_wiki = wikipediaapi.wikipedia('en')
    page_py = wiki.page(query)
    title = page_py.title
    return HttpResponse(title)        
#return HttpResponse(mes )
我收到一个错误报告:

 TypeError: 'module' object is not callable
谁能帮我一下错误背后的原因:

正确的格式是
wikipediapi.Wikipedia('en')
,而不是wikipediapi.Wikipedia('en'))
请注意,维基百科中的W是大写的

您还应该使用

page_py = wiki_wiki.page(query)
而不是


因为您的对象变量是wiki\u wiki而不是wiki。

问题似乎在于行

wiki_wiki = wikipediaapi.wikipedia('en')
根据维基百科API文档

wiki_wiki = wikipediaapi.Wikipedia('en')

Wikipedia
以大写字母
W
开头,调用该名称创建实例。当前正在使用的是wikipedia。wikipedia是一种Python,作为异常提示,它是不可调用的。

当接收异常时,共享堆栈跟踪可能会更有帮助,因此很清楚异常是在哪里引发的。该算法工作正常,单独工作,但不是在Django中使用我在回答中提到的编辑更新代码后,您得到的erorr是什么?名称“wiki”未定义您应该使用
page\u py=wiki\u wiki.page(query)
。不是wiki.page(查询)。我在回答中提到了这一点。如果这个答案对你有效,请接受@SamiUllah
wiki_wiki = wikipediaapi.Wikipedia('en')