Я пытаюсь сделать небольшую функцию для пользователя, чтобы запросить учетную запись, и информация, которую он вводит, отправляется человеку, который будет создавать учетную запись.Я следовал этому примеру в основном http://djangosnippets.org/snippets/261/, но он очень старый и может быть неточным, потому что у меня есть, и поэтому у меня проблемы с ним.
У меня есть этот код в настоящее время:
account / models.py
from django import forms
from django.core.mail import send_mail, BadHeaderError
# A simple contact form with four fields.
class NewAccountForm(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
email = forms.EmailField()
account / views.py
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
from account.models import NewAccountForm
from django import forms
from django.core.mail import send_mail, BadHeaderError
def request_account_view(request):
first_name = request.POST.get('first_name', '')
last_name = request.POST.get('last_name', '')
email = request.POST.get('email', '')
message = (first_name + ' ' + last_name + ' has requested a new account for the email ' + email)
if first_name and last_name and email:
try:
send_mail('Request for Account', message, email, ['example@example.com'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return HttpResponseRedirect('/thankyou/')
else:
return render_to_response('new_account.html', {'form': NewAccountForm()})
return render_to_response('new_account.html', {'form': NewAccountForm()},
RequestContext(request))
def thankyou(request):
return render_to_response('thankyou.html')
urls.py
(r'^thankyou/$', 'account.views.thankyou'),
(r'^new_account/$', 'account.views.request_account_view'),
templates / new_account.html
{% extends "base.html" %}
{% block content %}
<form action="/new_account/" method="post">
{% csrf_token %}
<label id="id_first_name">First Name:</label>
<input type="text" name="first_name" value="" id="first_name" />
<label id="id_last_name">Last Name:</label>
<input type="text" name="last_name" value="" id="last_name" />
<label id="id_email">Email:</label>
<input type="text" name="email" value="" id="email" />
<input type="submit" value="Submit Request"/>
</form>
{% endblock %}
Я получаю сообщение об ошибке:
Forbidden (403)
CSRF verification failed. Request aborted.
, которое возникает после ввода имени и пароля и нажатия кнопки отправки.Мой почтовый хост работает нормально, потому что раньше я работал над функцией «Забыли пароль».Буду очень признателен за помощь.Спасибо.