> > "correct" and just as simple, and each time I've failed. As far as > > I'm concerned, if someone can come up with a way to do this that's > > stupidly simple then I'm all for a change, but at the same time > > get_absolute_url() is a wart I'm willing to live with. > > In the model you want to know "what is this object's identifier that > we would use in a url". That might be just an object ID, a slug, > or maybe yyyy/mm/dd/id or who knows what. This would be formated > such that it could be used as-is as PART of a URL. Let's call this method > "get_id_for_url()" (or whatever you end up calling it) That seems to be > the appropriate type of data to come from a Model.. i.e. not the entire > absolute URL, but just a portion of the URL that would be used to > identify this Model's object. > > Then, in the particular view (not clear, it might be and/or in the > template) you would want to combine some base URL string with the > previous get_id_for_url string to make it into a real url. To do that > might need just a variable "base_url" (or it could be yet another view > specific method) that changes by the view. > > So in a template you'd have to do > {{ base_url }}{{ this-object.get_id_for_url }} > > In your urls.py and/or view you'd setup a dict to pass the appropriate > value to the template e.g. > info_dict = { > 'app_label': 'myapp', > 'module_name': 'mymods', > 'base_url': 'mymods', > } > > That would allow me to use the generic views if I sent the 'base_url' > correctly, > or you could even have it default to the 'module_name'. Or I could code > it into my view's code however I wish.
That's similar to what I do. The get_absolute_url() concatenates a <SOME_APP>_BASE_URL from settings.py or from the top of models.py with what you call get_id_for_url. This isn't completely clean but easy to change if you remember where to look for the constant. Arthur --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users -~----------~----~----~----~------~----~------~--~---