'str'对象不可调用Django

时间:2012-06-28 21:49:02

标签: python django

我是Django的新手,并且在我自己分支之前想过我会经历一些教程。我正在尝试编写此处描述的日历应用程序:http://lightbird.net/dbe/cal1.html。但是,他们的URLconfigs似乎对我不起作用,因为我收到以下错误:

TypeError at /admin/

'str' object is not callable

Request Method:         GET
Request URL:    http://ec2-23-20-82-228.compute-1.amazonaws.com:8000/admin/
Django Version:     1.4
Exception Type:     TypeError
Exception Value:    

'str' object is not callable

Exception Location:     /usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response, line 111
Python Executable:  /usr/bin/python
Python Version:         2.7.3

如果有人能指出我正确的方向,我们将不胜感激!

1 个答案:

答案 0 :(得分:5)

我很确定你的错误是由错误的url conf引起的,你发布的链接只描述了2个urlpatterns而不是整个url conf:

(r"^(\d+)/$", "main"),
(r"", "main"),

如果正确设置了前缀,则只能引用字符串“main”,因此在您的情况下,您可能具有以下结构:

/project
    /app
        views.py
        urls.py

你的网址应该是:

urlpatterns = patterns('app.views',
    (r"^(\d+)/$", "main"),
    (r"", "main"),
)

您也可以直接导入该功能:

from app.views import main

urlpatterns = patterns('',
    (r"^(\d+)/$", main),
    (r"", main),
)

我认为让两个网址指向同一个视图也是不好的做法,我宁愿为第二个网址创建一个重定向,让视图确定是否有要处理的参数