2013-12-23 21 views
2

我正在尝试将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模式+ =模式( ', URL(R '^验证码/',包括( 'captcha.urls')), )

我也在我的INSTALLED_APPS中添加了“captcha”settings.py

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

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

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

+0

我目前在同一个问题上工作。有趣的事实:如果你使用html inspector(例如Firebug或Chrome工具)并将图像url更改为'/ captcha/static/image /.../',它会显示出来。 现在我试图找出如何转换这个网址或使某种collectstatic。 –

回答

1

没有必要创建任何captcha目录。

的问题是,你作为mensioned在documentation没有更新urls.py

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

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

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

对不起,我忘了,我没有更新我的urls.py: URL模式+ =模式( '', URL(R '^验证码/',包括( 'captcha.urls')), ) –

+0

访问''/ catcha/img /''url时出错,试图找出它是什么样的错误。你运行''syncdb''并运行迁移(如果你使用它们的话)? – niekas

+0

是的。Synchdb已经运行。访问captcha/image /没有错误。图像根本不显示。但我不认为它真的希望那个目录无论如何都在那里。 (在另一个工作的django-captcha应用程序中,它不在)所以我有点困惑。 –

0

我觉得可能有与全球和virtureenv环境冲突的东西,可能是另一个应用程序,其中包含名称captcha

0

同样是发生在我的申请,管理做出非常奇怪的解决方法(XGH警报)在Django的简单 - usising两条斜杠captcha 0.4.4

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