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<https://groups.google.com/d/msgid/django-users/e7adace8-ffc9-4f77-b970-e73bed5ae8e1%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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<https://groups.google.com/d/msgid/django-users/FE30EAD3-E463-4379-B11C-970D86703AC3%40ipstreet.com?utm_medium=email&utm_source=footer>
> .
>
> 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.