为什么Django-Simple-Captcha图像没有出现?

时间:2013-12-23 22:12:06

标签: django captcha

我正在尝试将Django-Simple-Captcha图像添加到我的应用程序的登录屏幕。

这是我在forms.py文件顶部添加的内容:

from captcha.fields import CaptchaField

这是我在注册表中添加的内容:

captcha = CaptchaField(
    label="What does this say?",
    required=True,
)    

这是我添加到我网站的url.py文件中的内容:     urlpatterns + = patterns(         ',         url(r'^ captcha /',include('captcha.urls')),     )

我还在settings.py

中的“INSTALLED_APPS”中添加了“验证码”

但是,当我加载页面时,我发现Captcha图像是一个断开的链接:http://predictstat.com/accounts/register/。服务器在控制台上显示:

[23/Dec/2013 16:30:47] "GET /captcha/image/56edd656ba57a2a3e71571373e1a59c564e3d592/ HTTP/1.1" 500 72336

但是,我的应用程序目录下没有这样的目录“captcha”。那么它在哪里寻找这个图像?为什么不存在?

4 个答案:

答案 0 :(得分:4)

仔细观察后,我发现问题是:

异常值:未安装_imagingft C模块。

详细说明如何解决此问题可在此处找到:Python: The _imagingft C module is not installed

答案 1 :(得分:1)

无需创建任何captcha目录。

问题是您没有像documentation中那样更新urls.py

urlpatterns += patterns('',
    url(r'^captcha/', include('captcha.urls')),
)

另一个问题可能是你没有运行syncdb

./manage.py syncdb
./manage.py migrate   # If you use migrations

答案 2 :(得分:1)

在我的应用程序中也发生了同样的情况,我设法使用非常奇怪的解决方法(XGH警报)在django-simple-captcha 0.4.4中使用两个斜杠

urlpatterns += patterns('',
    url(r'^captcha//', include('captcha.urls')),
)

答案 3 :(得分:0)

我认为它可能与全球和virtureenv环境的冲突有关,可能还有另一个包含名称captcha的应用程序。