Not sure what is going on without seeing the code. But something is None when 
it should be a string, as the exception is telling you.

It's often easiest to try out problem code interactively in Python, and zero in 
on the problem.

John


On Mar 26, 2014, at 3:53 PM, Anthony <[email protected]> wrote:

> Thanks John,
> 
> I've yet to test it but I read a few people stating to use lambdas 
> variables/properties. Is it definitely the case that it will only evaluate 
> once?
> 
> Either way I've embarked on the mission to make methods return as properties 
> and have found @property decorator to fit my needs, the issue was I was 
> calling Object.property not ObjectI().property, However I want to apply this 
> functionality to all my methods and am using:
> 
> __getattribute__
> 
>     def __getattribute__(self, item):
>         super(DateCalc, self).__getattribute__(item)
> 
> But I've run into the problem that my __init__ properties don't seem to be 
> initialised eg I get
> self._date_actual = datetime.strptime("{Y}-{m}-{d}".format(Y=year, m=month, 
> d=day), self._format_global).date() TypeError: must be string, not None
> 
> Anyone have an idea about what's going on?
> 
> 
> On Thu, Mar 27, 2014 at 5:07 AM, John DeRosa <[email protected]> wrote:
> For the default value to work as you expect, do this:
> 
> def view(request, year=None):
>     if year is None:
>         year = today.year()
> 
> 
> Kwarg defaults are evaluated when the module is interpreted for the first 
> time.
> 
> John
> 
> 
> On Mar 26, 2014, at 1:57 PM, Anthony Hawkes <[email protected]> wrote:
> 
>> Hi Guys,
>> 
>> I'm running into a problem with django(I guess this would also affect Python 
>> in general) where if I create a view eg
>> def view(year=today.year())
>> The year is never re-evaluated until the server is reloaded/restarted
>> 
>> I'm trying to figure out how to make a callable method accessible as a 
>> property if this is even possible to try and rectify this(not sure if this 
>> is even the correct approach). I've had a look at some magic methods but 
>> can't figure it out.
>> 
>> Basically I want to make eg
>> 
>> def year(something):
>>     return 'blah'
>> 
>> Accessible using object.year as well as object.year()
>> 
>> Any pointers/ideas etc?
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> 
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/django-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/e7adace8-ffc9-4f77-b970-e73bed5ae8e1%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Django users" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/django-users/gcx1oTBAZlA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/FE30EAD3-E463-4379-B11C-970D86703AC3%40ipstreet.com.
> 
> For more options, visit https://groups.google.com/d/optout.
> 
> 
> 
> -- 
> Anthony Hawkes
> E-Mail: [email protected]
> Ph: 0400 372 260
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/CABqJoT1rSB4YeHQHiZH_4KNqMuub1THHyuzAvOCjas_Drz94sg%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/7BECE858-26BB-402C-A5DA-5A613F14FE1F%40ipstreet.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to