为什么 Django-Simple-Captcha 图像没有显示



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

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

from captcha.fields import CaptchaField

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

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

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

我还在 settings.py 中将"验证码"添加到我的INSTALLED_APPS

但是,当我加载页面时,我看到验证码图像是一个断开的链接:http://predictstat.com/accounts/register/。服务器在控制台上显示以下内容:

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

但是,我的应用程序的目录下没有这样的目录"验证码"。那么它试图在哪里寻找这张图片呢?为什么它不存在?

仔细检查,我发现问题是这样的:

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

可以在此处找到解决此问题的详细信息:Python:未安装 _imagingft C 模块

无需创建任何captcha目录。

问题是您没有按照文档中的规定更新urls.py

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

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

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

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

urlpatterns += patterns('',
    url(r'^captcha//', include('captcha.urls')),
)
<</div> div class="one_answers">

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

最新更新