Views.py
from django.core.mail import send_mail
from django.template.loader import get_template
from django.template import Context
from django.conf import settings
class FriendInviteForm(forms.Form):
name = forms.CharField(label=_(u'Friend Name'))
email = forms.EmailField(label=_(u'Friends Email'))
class Invitation(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField()
code = models.CharField(max_length=20)
sender = models.ForeignKey(User)
def __unicode__(self):
return u'%s, %s' % (self.sender.username, self.email)
def send(self):
subject = u'Invitation to join Django Bookmarks'
link = 'http://%s/meet/accept/%s/' % (
settings.SITE_HOST,
self.code
)
template = get_template('invitation_email.txt')
context = Context({
'name': self.name,
'link': link,
'sender': self.sender.username,
})
message = template.render(context)
send_mail(
subject, message,
settings.DEFAULT_FROM_EMAIL, [self.email]
)
@login_required
def friend_invite(request):
if request.method == 'POST':
form = FriendInviteForm(request.POST)
if form.is_valid():
invitation = Invitation(
name=form.cleaned_data['name'],
email=form.cleaned_data['email'],
code=User.objects.make_random_password(20),
sender=request.user
)
invitation.save()
invitation.send()
return HttpResponseRedirect('/meet/invite/')
else:
form = FriendInviteForm()
variables = RequestContext(request, {
'form': form
})
return render_to_response('friend_invite.html', variables)
Exception Value:
Ошибка: name 'models' is not defined
Через admin'ку модель вижу
Updated 18 Oct. 2016, 9:35 by s.tsibart.