【发布时间】:2015-07-27 03:07:48
【问题描述】:
我正在尝试使用 pinax 的 django-user-accounts 包。我对 django 完全陌生,有时会卡住,我已经挣扎了几个小时,但仍然无法显示帐户/注册页面。
所以,我的 urls.py 中有以下行:
url(r"^account/", include("account.urls")),
然后,我去查看账号包的urls.py,然后 它算上这条线。
url(r"^signup/$", SignupView.as_view(), name="account_signup"),
所以,当我在浏览器中提供地址:127.0.0.1:8000/account/signup/ 时,我认为 django 应该返回 SignupView。但我真的不知道“as_view()”函数的作用。通常 url() 的第二个参数应该是一个返回 HTMLResponse 的函数。于是去account包的views.py中查看:类SignupView有一个属性
template_name = "account/signup.html"
我希望 SignupView.as_view() 返回的 HTMLResponse 使用这个模板,但它没有。相反,我收到了这个错误:
TypeError at /
'str' 对象不可调用
请求方法:GET 请求地址:http://127.0.0.1:8000/Django 版本:1.6.1 异常类型:TypeError 异常值:
'str' 对象不可调用
异常位置: /usr/lib/python2.7/dist-packages/django/core/handlers/base.py 在 get_response,第 112 行 Python 可执行文件:/usr/bin/python Python 版本:2.7.6
请注意,这只是 django-user-accounts 的默认行为,我没有修改任何内容。所以我想我缺少依赖项或其他东西,但我无法解释错误消息。顺便说一句,返回的错误与我在浏览器127.0.0.1:8000/ 中提供此地址时完全相同。在这里我预计会收到一个错误,因为我还没有主页,但是,为什么SignupView 尝试获取根页面的html ???
我被困在这里,我不知道如何尝试调试它。任何提示都会受到欢迎。
【问题讨论】:
-
由于
127.0.0.1:8000/失败,可能与SignupView 无关。你能显示完整的urls.py应用程序和模块吗? -
谢谢!我在 / 处为索引页添加了一个虚拟视图,现在我完成了它。我仍然不明白为什么 django 需要访问项目的根页面,但知道它似乎可以工作(好吧,我遇到了另一个问题,但希望这是我能解决的问题)。
标签: python django user-accounts