2

我是 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

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

4

1 回答 1

5

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

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

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

/project
    /app
        views.py
        urls.py

你的 url conf 应该是:

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

您也可以像这样直接导入函数:

from app.views import main

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

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

于 2012-06-28T21:59:30.430 回答