python - “str”对象不可调用 Django

标签 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

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

最佳答案

我很确定您的错误是由错误的 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),
)

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

关于python - “str”对象不可调用 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11253414/

相关文章:

python - 为什么此列表以错误的顺序返回 x 和 y?

python - 如何将日期时间设置为zaxis而不出现错误: OverflowError: Python int too large to convert to C long for 3D plot

python - 如何将 HTML 类添加到 Django 表单的帮助文本?

Django celery : class-based task doesn't work

django - 在同一个 apache 服务器中运行两个带有 SSL 的 django 应用程序

python - 使用 Django 的 OpenID 的最佳解决方案是什么?

python - 将 NaN 添加到集合时行为不一致的原因

python - 在子图之间画一条线

python - Alembic 不处理 column_types.PasswordType : Flask+SQLAlchemy+Alembic

javascript - 变量未定义(从 HTML 发送到 JS 文件)