我正在尝试将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
的应用程序。