Python ';str';对象不可调用,如何处理?

Python ';str';对象不可调用,如何处理?,python,django,Python,Django,当我运行Python Django应用程序时,我收到一个错误: “str”对象不可调用 我在这里尝试过这些解决方案,但它们对我不起作用。我正在尝试运行Django book示例: view.py: # Create your views here. from django.http import HttpResponse import datetime def current_time(request): now = datetime.datetime.now() html =

当我运行Python Django应用程序时,我收到一个错误:

“str”对象不可调用

我在这里尝试过这些解决方案,但它们对我不起作用。我正在尝试运行Django book示例:

view.py:

# Create your views here.
from django.http import HttpResponse
import datetime

def current_time(request):
    now = datetime.datetime.now()
    html = "<html><head></head><body>%s</body></html>" % str(now)
    return HttpResponse(html)

def hello(request,name):
    return HttpResponse("Hello django")

def what(request):
    return HttpResponse("what's the problem django?")
这是我正在尝试的URL:
http://127.0.0.1:8000/what/

堆栈跟踪:

from django.conf.urls import patterns, include, url
from hello_django.views import current_time,hello,what


urlpatterns = patterns('',
    url(r'^time/$','current_time'),
    url(r'^what/$','what'),
    url(r'^hello/([a-zA-Z0-9]+)','hello'),
)
TypeError at /what/
'str' object is not callable
Request Method: GET
Request URL:    http://127.0.0.1:8000/what/
Django Version: 1.5.1
Exception Type: TypeError
Exception Value:    
'str' object is not callable
Exception Location: C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response, line 115
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.4
Python Path:    
['D:\\Developer Center\\PyCharm\\helloDjango',
 'C:\\Python27\\lib\\site-packages\\pip-1.3.1-py2.7.egg',
 'C:\\Python27\\lib\\site-packages\\mysql_python-1.2.4-py2.7-win32.egg',
 'D:\\Developer Center\\PyCharm\\helloDjango',
 'C:\\Windows\\SYSTEM32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\PIL']
Server time:    Tue, 7 Jan 2014 11:44:30 +0330
Traceback Switch to copy-and-paste view

C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response
                        response = callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars

您需要将实际的视图提供给
url()

注意,我删除了
what
和其他视图函数的引号

您仍然可以在
url()
配置中使用字符串,但是您需要使用
语法或将第一个参数中的模块命名为
patterns()
(字符串),然后您也不需要导入函数:

urlpatterns = patterns('',
    url(r'^time/$', 'hello_django.views.current_time'),
    url(r'^what/$', 'hello_django.views.what'),
    url(r'^hello/([a-zA-Z0-9]+)', 'hello_django.views.hello'),
)


请参阅。

请向我们展示异常的完整回溯。此处发布的代码不会显示您的问题,除非您在代码的其他地方以某种方式分配到
django.http.HttpResponse
。请参阅错误消息中的“切换到复制和粘贴视图”行?下次你真的想这么做;点击那个链接,得到一个文本版本的回溯复制到你的问题。我想接受它作为答案,它告诉我你不能在四分钟前接受答案!哈哈,多快的回答,快检查,快接受!谢谢你,伙计。
urlpatterns = patterns('',
    url(r'^time/$', 'hello_django.views.current_time'),
    url(r'^what/$', 'hello_django.views.what'),
    url(r'^hello/([a-zA-Z0-9]+)', 'hello_django.views.hello'),
)
urlpatterns = patterns('hello_django.views',
    url(r'^time/$', 'current_time'),
    url(r'^what/$', 'what'),
    url(r'^hello/([a-zA-Z0-9]+)', 'hello'),
)