Возникли проблемы с работой django-simple-captcha на моей странице контактов.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Возникли проблемы с работой django-simple-captcha на моей странице контактов.

Сообщение Anonymous »

У меня возникли проблемы с работой капчи на странице «Связаться с нами» на моем веб-сайте. Я следовал инструкциям, приведенным в документации, но продолжаю получать ошибки. Кто-нибудь может помочь?
Вот мой файл form.py:

Код: Выделить всё

# main/forms.py

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User

# For the Captcha
from captcha.fields import CaptchaField

# For the Contact Us page
from django.core.validators import EmailValidator

class CustomUserCreationForm(UserCreationForm):
email = forms.EmailField(required=True)

class Meta:
model = User
fields = ("username", "email", "password1", "password2")

def save(self):
user = super(UserCreationForm, self).save(commit=False)
user.email = self.cleaned_data["email"]
user.save()
return user

class ContactForm(forms.Form):
name = forms.CharField(required=True)
email = forms.EmailField(required=True)
# phone = forms.CharField(max_length=15)
# subject = forms.CharField(max_length=100)
message = forms.CharField(widget=forms.Textarea)
captcha = CaptchaField()
Вот мой urls.py:

Код: Выделить всё

# main/urls.py

from django.contrib import admin
from django.urls import path, include
from main.views import dashboard, register, about, blog

app_name = 'main'

urlpatterns = [
path('blog/', include('blog.urls')),
path('admin/', admin.site.urls),
path('projects/', include('projects.urls')),
path('captcha/', include('captcha.urls')),
]
Вот мои представления.py:

Код: Выделить всё

# main/views.py

from django.contrib.auth import login as auth_login
from django.shortcuts import redirect, render
from django.urls import reverse
from main.forms import CustomUserCreationForm

from captcha.fields import CaptchaField

from django.core.mail import EmailMessage
from main.forms import ContactForm
from django.conf import settings
from django.http import HttpResponse

# Create your views here.

def main(request):
return render(request, 'main.html', {})

def dashboard(request):
return render(request, 'users/dashboard.html')

def admin(request):
return render(request, 'admin')

def login(request):
return render(request, 'registration/login.html')

def register(request):
if request.method == 'GET':
return render(
request, 'users/register.html',
{'form': CustomUserCreationForm}
)
elif request.method == 'POST':
form = CustomUserCreationForm(request.POST)
if form.is_valid():
user = form.save()
auth_login(request, user)
return render(request, 'users/dashboard.html')
else:
return HttpResponse('Invalid')

def about(request):
return render(request, 'about.html')

def blog(request):
import pdb; pdb.set_trace()
return render(request, 'blog/blog_index.html')

def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
# Process the form data
name = form.cleaned_data['name']
email = form.cleaned_data['email']
# subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
human = True

EmailMessage(
'Contact Form Submission from {}'.format(name),
message,
'[email protected]',  # Send from your website
['[email protected]'],  # Send to (your admin email)
[],
reply_to=[email]  # Email from the form to get back to
).send()

return redirect('success')

else:
form = ContactForm()
return render(request, 'contact.html', {'form': form})

def success(request):
return HttpResponse('Success!
Return to [url=#]my_domain.com[/url].')
А вот мой контакт.html:

Код: Выделить всё


Contact Us



{% csrf_token %}
{% for field in form %}

{{ field.errors }}
{{ field.label_tag }} {{ field }}

{% endfor %}
{ form.captcha }}




Я пробовал перемещать элементы в коде несколькими разными способами, но мне не удалось заставить это работать, и я не могу понять, почему. Может ли кто-нибудь помочь мне с этим?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ct-us-page
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»