TypeError:“module”对象在Djang中不可调用

2024-04-25 23:00:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在django中添加wikipediaapi,并处理wikipedia中的HTML输入视图.py. 在

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 )

我得到一个错误报告:

^{pr2}$

有人帮帮我吗


Tags: djangofrompyimportformsearchreturnrequest
2条回答

问题似乎出在线路上

wiki_wiki = wikipediaapi.wikipedia('en')

根据维基百科API文档

^{pr2}$

Wikipedia以大写字母W开头,这是一个类名,用于创建实例。当前使用的是wikipedia.wikipedia,它是一个Pythonmodule,作为异常提示,不可调用。在

错误原因:

正确的格式是wikipediaapi.Wikipedia('en'),不是维基百科API.wikipedia('en')
请注意,Wikipedia中的W是大写的。在

您还应该使用

page_py = wiki_wiki.page(query)

而不是

^{pr2}$

因为您的对象变量是wiki,而不是wiki。在

相关问题 更多 >