Я следую за сообщением Maro Fucci для интеграции ReCaptcha для регистрации в Django. Он отлично работал в Django 1.4. Однако после обновления до Django 1.5 у меня возникла проблема с представлениями на основе классов, которые я разрешил, и теперь я могу отобразить регистрационную форму на странице. Самой большой проблемой является recaptcha ее не рендеринг.Recaptcha не отображается для Django Регистрация в Django1.5
Я вставляю точный код, который я написал.
Мои проекты urls.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')),)
Мой urls.py Применение
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')),
)
Я разместили widgets.py
и fields.py
, который был размещен в Marco Fucci странице в папке 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
он печатает регистрационную форму рекапчи, как показано ниже
>>> 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>
Но когда я называю http://localhost:8000/accounts/register/
из браузера рекапчи не делает. Регистрационная форма не наследует Recaptcha. Может быть, я делаю что-то глупое. Может ли кто-нибудь мне посоветовать.
Считаете ли вы, что-то не так с шаблонами? – vkrams