Daniel Roseman wrote:
> On Aug 18, 11:08 am, andreas schmid <a.schmi...@gmail.com> wrote:
>   
>> hi to all,
>>
>> i have a weird problem with my urls.
>>
>> my model has a get_absolute_url like this:
>>    * def get_absolute_url(self):
>>         return "%s/%s/" %  (self.pub_date.strftime("%Y"), self.slug )*
>>
>> and the url conf is this one:
>>  *(r'^(?P<year>\d{4})/(?P<slug>[-\w]+)/$',
>> 'myapp.views.projects.project_detail', ),
>> *
>> which works fine... my projects urlconf setup is:
>>     *(r'^projects/', include('myapp.urls.projects')),
>>
>> *i set up a form template to add projects without touching the admin
>> interface which works fine too but when i save and it should direct to
>> the project detail view it sets up the url in the wrong way.
>>
>> *return HttpResponseRedirect(new_project.get_absolute_url())
>>
>> *the return above is in my add function but it redirects from
>> *http://mysite.com/add/*to *http://mysite.com/add/2009/slug/*which
>> obviously doesnt work instead of *http://mysite.com/projects/2009/slug/
>> *which works.
>>
>> any help?
>>     
>
> The string returned from your get_absolute_url method would be
> something like "2009/slug/". Because it doesn't start with a slash,
> browsers interpret it as relative to the current URL, so if you start
> on "/add/" it will just add the slug on to that, ending up with "/add/
> 2009/slug/".
>
> Easy to fix - just make sure get_absolute_url starts with a slash:
>     return "/%s/%s/" %  (self.pub_date.strftime("%Y"), self.slug )
>
>   
if i put the trailing slash it does not add the projects/ prefix i added
in the include of my projects urls.py ... the problem of the wrong
absolute url is only when i add or edit a project and it doesnt redirect
right... i postet it wrong before, it tryes to redirect at
http://127.0.0.1:8000/projects/add/2009/slug/ without trailing slash in
in the get_absolute_url but every other absolute url in the templates
works fine.
if i put the trailing slash the url is wrong everywhere and links to
http://127.0.0.1:8000/2009/slug/

--~--~---------~--~----~------------~-------~--~----~
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