django urls without a trailing slash do not redirect
Solution 1:
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.
Solution 2:
check your APPEND_SLASH
setting in the settings.py file
more info in the django docs
Solution 3:
This improves on @Michael Gendin's answer. His answer serves the identical page with two separate URLs. It would be better to have login
automatically redirect to login/
, and then serve the latter as the main page:
from django.conf.urls import patterns
from django.views.generic import RedirectView
urlpatterns = patterns('',
# Redirect login to login/
(r'^login$', RedirectView.as_view(url = '/login/')),
# Handle the page with the slash.
(r'^login/', "views.my_handler"),
)