我是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
如果有人能指出我正确的方向,我们将不胜感激!
答案 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),
)
我认为让两个网址指向同一个视图也是不好的做法,我宁愿为第二个网址创建一个重定向,让视图确定是否有要处理的参数