Python 在Django 1.5中,Recaptcha未显示Django注册

Python 在Django 1.5中,Recaptcha未显示Django注册,python,django,recaptcha,django-registration,Python,Django,Recaptcha,Django Registration,我正在通过整合ReCaptcha来完成Django注册。它在Django 1.4中正常工作。然而,升级到Django 1.5后,我遇到了基于类的视图的问题,我已经解决了这个问题,现在我可以在页面上呈现注册表了。最大的问题是recaptcha无法渲染 我正在粘贴我所写的代码 我的项目URL.py from django.conf.urls import patterns, include, url from django.conf import settings from django.conf.

我正在通过整合ReCaptcha来完成Django注册。它在Django 1.4中正常工作。然而,升级到Django 1.5后,我遇到了基于类的视图的问题,我已经解决了这个问题,现在我可以在页面上呈现注册表了。最大的问题是recaptcha无法渲染

我正在粘贴我所写的代码

我的项目URL.py

from django.conf.urls import patterns, include, url
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
          ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns = patterns('',

  url(r'^$', 'myapp.views.index'),
  (r'^accounts/', include('registration.backends.default.urls')),)
from django.conf.urls.defaults import *
from registration.views import RegistrationView

from myapp.forms import RecaptchaRegistrationForm

urlpatterns = patterns('',
    url(r'^register/$', RegistrationView.register,
    {'form_class': RecaptchaRegistrationForm},
    name='registration.RegistrationView.register'),
    (r'', include('registration.backends.default.urls')),
  )
我的应用程序URL.py

from django.conf.urls import patterns, include, url
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
          ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns = patterns('',

  url(r'^$', 'myapp.views.index'),
  (r'^accounts/', include('registration.backends.default.urls')),)
from django.conf.urls.defaults import *
from registration.views import RegistrationView

from myapp.forms import RecaptchaRegistrationForm

urlpatterns = patterns('',
    url(r'^register/$', RegistrationView.register,
    {'form_class': RecaptchaRegistrationForm},
    name='registration.RegistrationView.register'),
    (r'', include('registration.backends.default.urls')),
  )
我已经将发布在Marco Fucci页面中的
widgets.py
fields.py
放在myapp文件夹中,并且
myapp.forms.py
如下所示

from django import forms
from myapp.fields import ReCaptchaField 
from registration.forms import RegistrationForm
class RecaptchaRegistrationForm(RegistrationForm):
      recaptcha = ReCaptchaField()
我已经使用
manage.py
打印了注册表,它使用recaptcha打印注册表,如下所示

>>> from myapp.forms import RecaptchaRegistrationForm
>>> p = RecaptchaRegistrationForm()
>>> print p
<tr class="required"><th><label for="id_username">Username:</label></th><td><input id="id_username" maxlength="30" name="username" type="text" /></td></tr>
<tr class="required"><th><label for="id_email">E-mail:</label></th><td><input id="id_email" name="email" type="text" /></td></tr>
<tr class="required"><th><label for="id_password1">Password:</label></th><td><input id="id_password1" name="password1" type="password" /></td></tr>
<tr class="required"><th><label for="id_password2">Password (again):</label></th><td><input id="id_passwo" name="password2" type="password" /></td></tr>
<tr class="required"><th><label for="id_recaptcha">Recaptcha:</label></th><td> <script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LcPF-KEY"></script>
>>从myapp.forms导入重述CharRegistrationForm
>>>p=RecaptCharRegistrationForm()
>>>打印p
用户名:
电邮:
密码:
密码(再次):
综述:
但是当我打电话给
http://localhost:8000/accounts/register/
浏览器中的recaptcha未呈现。注册表未继承Recaptcha。可能是我在做傻事。有人能给我指点一下吗。

在url模式中使用a时,请将url模式指向
as\u view()
方法。不能只包含
RegistrationView.register
方法

要自定义
RegistrationView
的行为,请对其进行子类化,并设置
form_class
属性

class RecaptchaRegistrationView(RegistrationView):
    """
    Subclass of RegistrationView that uses RecaptchaRegistrationForm
    """
    form_class = RecaptchaRegistrationForm

urlpatterns = patterns('',
    url(r'^register/$', RecaptchaRegistrationView.as_view(), name='registration_register'),
当您调用register视图时,是否可以(通过调试)确保您的RecaptCharRegistrationForm被拾取

而且, 呈现的html中的公钥似乎是错误的。
6LcPF键

您认为模板有什么问题吗?打印ReCaptcha正在呈现,如我的问题所示。我刚刚截断了公钥。好的,那么视图呈现的最终html中有ReCaptcha脚本吗?是的。我正在尝试下面的解决方案,如果最后一个网页中出现了ReCaptcha脚本,这意味着python代码中没有任何错误。请检查是否存在任何javascript错误。我呈现了您发布的html输出,它对我有效。我在
registration.views
中添加了注册
RecaptchaRegistrationView
,并更改了URL模式。但它仍然没有渲染,可能是我做错了什么。我将重新信仰。但是,我可以正确调用其余类,即,
登录
重置
忘记