if accept is not None and accept.is_active:
You are using auth.authenticate (see below) but I don't think that's what you want in this case. auth is the built in django auth system which your code isn't using.
accept = auth.authenticate(pin=pin1, serial_no=serial_no1)
accept = auth.authenticate(pin=pin1, serial_no=serial_no1)
It looks like you're instead trying to load a Pin object.
Try this instead:
accept = Pin.objects.get(pin=pin1, serial_no=serial_no1)
Now accept is holding the Pin object (assuming it found one) and you can check that object for the property is_active
Now accept is holding the Pin object (assuming it found one) and you can check that object for the property is_active
(remember to import Pin).
On Wednesday, January 23, 2013 2:19:07 PM UTC-8, Okorie Emmanuel wrote:
Am trying to build an application that user can login to register using pin and serial number from a scratch card, a valid pin and serial number should take a user to the registration page to create an account, here are codes i have writenview.pydef index(request, template_name="index.html"):errors=[]if request.method == "POST":form = PinForm()if form.is_valid():#form.save()#form.cleaned_datapin1 = request.POST.get('pin', '')serial_no1 = request.POST.get('serial_no', '')accept = auth.authenticate(pin=pin1, serial_no=serial_no1)if accept is not None and accept.is_active:# Correct password, and the user is marked "active"auth.login(request, accept)# Redirect to a success page.return HttpResponseRedirect('/acceptance/') else:form = PinForm()#accept = authenticate(pin != pin, serial_no !=serial_no, is_valid = False )#errors.append('This card Does Not Exist')# form = PinForm()return render_to_response(template_name, locals(),context_instance = RequestContext(request)) def acceptance(request, template_name = "acceptance.html"):return render_to_response(template_name, locals(),context_instance = RequestContext(request)) form.pyfrom django import formsfrom you.models import Pinclass PinForm(forms.ModelForm):class Meta:model = Pinexclude = ('is_active',)urls.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('you.views',(r'^$','index', {'template_name': 'index.html'}, 'home_page'),#(r'^acceptance/$',{'template_name': 'acceptance.html'}, 'acceptance'), (r'^acceptance/$', 'acceptance', {'template_name': 'acceptance.html'}, 'acceptance'),andmodels.pyfrom django.db import modelsfrom django.forms import ModelFormclass Pin(models.Model):pin = models.CharField(max_length=12) serial_no = models.CharField(max_length=12) is_active = models.BooleanField(default=True) class Meta:db_table = 'db_Pin'ordering = ['pin']def __unicode__(self):return self.pinIn the model i have actually stored the pin and serial no, but each time i entered a valid pin and serial number it does not redirect to the next page which for nowis the acceptance page, this i intend to change to the registration page. pls what have i not done right, pls help me fix this. thanks
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/ezPwgSE36P4J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment