- vs _ ?

On Oct 29, 2012, at 4:38 PM, Lachlan Musicman wrote:

> On Tue, Oct 30, 2012 at 11:14 AM, Nikolas Stevenson-Molnar
> <nik.mol...@consbio.org> wrote:
>> You're close. Your reverse calls should be:
>> 
>> return redirect(reverse('student-reports', kwargs={'year': year}))
> 
> Thanks - that makes sense. I might have even done that previously, but
> I am still getting errors - I must have mistakenly attributed the
> error.
> 
> New error is:
> Exception Type:       NoReverseMatch
> Exception Value: Reverse for 'student-reports' with arguments '()' and
> keyword arguments '{'year': 2013}' not found.
> 
> but my urls.py includes these lines:
> url(r'^students/reports/$', student_reports, name='student_reports'),
> url(r'^students/reports/(?P<year>\d{4})/$', student_reports,
> name='student_reports'),
> 
> 
> and the view:
> def student_reports(request, year=None):
>    year = year or datetime.date.today().year
>     ...
> 
> What am I doing wrong now?
> 
> Cheers
> L.
> 
>> 
>> 
>> _Nik
>> 
>> On 10/29/2012 4:11 PM, Lachlan Musicman wrote:
>>> Hi,
>>> 
>>> I'm struggling to get the syntax right for a url reverse function.
>>> 
>>> I have a form that asks for a Model type (ChoiceField with strings)
>>> and a year (CharField).
>>> 
>>> The logic then if/elifs the ChoiceField and then redirects to the
>>> appropriate report page (for statistics on the Model type), with an
>>> optional year. I've got the urls and the views working, but passing
>>> the year arg to the view via the reverse function is not obvious to
>>> me, and nothing I've tried seems to work?
>>> 
>>> example code:
>>> forms.py
>>> class ReportRequestForm(forms.Form):
>>>    DATA_TYPES =
>>> ((1,'Students'),(2,'Enrolments'),(3,'Applicants'),(4,'Staff'),(5,'Results'))
>>>    year = forms.CharField(max_length=4)
>>>    data_type = forms.ChoiceField(choices=DATA_TYPES)
>>> 
>>> views.py
>>>        def ReportRequestForm(self):
>>>        ...
>>>            if form.is_valid():
>>>              year = int(form.cleaned_data['year'])
>>>              data_type = form.cleaned_data['data_type']
>>>              if data_type == '1':
>>>                return redirect(reverse('student-reports',{year=year,}))
>>>              elif data_type == '2':
>>>                return redirect(reverse('applicant-reports',{year=year,}))
>>>              elif data_type == '3':
>>>                return redirect(reverse('enrolment-reports',{year=year,}))
>>>              elif data_type == '4':
>>>                return redirect(reverse('staff-reports',{year=year,}))
>>> 
>>> 
>>> What is the correct syntax?
>>> 
>>> Cheers
>>> L.
>>> 
>> 
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To post to this group, send email to django-users@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> django-users+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/django-users?hl=en.
>> 
> 
> 
> 
> -- 
> ...we look at the present day through a rear-view mirror. This is
> something Marshall McLuhan said back in the Sixties, when the world
> was in the grip of authentic-seeming future narratives. He said, “We
> look at the present through a rear-view mirror. We march backwards
> into the future.”
> 
> http://www.warrenellis.com/?p=14314
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to django-users@googlegroups.com.
> To unsubscribe from this group, send email to 
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
> 

--
-- Christophe Pettus
   x...@thebuild.com

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to