django urls without a trailing slash do not redirect


Question

I've got two applications located on two separate computers. On computer A, in the urls.py file I have a line like the following:

(r'^cast/$', 'mySite.simulate.views.cast')

And that url will work for both mySite.com/cast/ and mySite.com/cast. But on computer B I have a similar url written out like:

(r'^login/$', 'mySite.myUser.views.login')

For some reason on computer B the url mySite.com/login/ will work but mySite.com/login will hang and won't direct back to mySite.com/login/ like it will on computer A. Is there something I missed? Both url.py files look identical to me.

1
75
4/26/2013 8:17:25 PM

Accepted Answer

check your APPEND_SLASH setting in the settings.py file

more info in the django docs

92
10/20/2009 6:49:39 PM

Or you can write your urls like this:

(r'^login/?$', 'mySite.myUser.views.login')

The question sign after the trailing slash makes it optional in regexp. Use it if for some reasons you don't want to use APPEND_SLASH setting.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon