On 8/5/07, James Bennett <[EMAIL PROTECTED]> wrote:
> I'm almost certain it has to do with a combination of the regular
> expression patterns for the URLs (minor contribution) and the database
> collation in use (major contribution). Which, again, means that it's
> not something Django is necessarily imposing on applications, but is
> instead something that's in the hands of a user of the framework.

To expand a bit further: if you want to support case-insensitive URLs,
you'll need to do three things:

1. Use case-insensitive urlpatterns. That is, use ``[A-Za-z]`` instead
of ``[a-z]`` (or, better yet, use ``\w``).

2. Use case-insensitive lookups: use ``__icontains`` or ``__iexact``
instead of ``__contains`` or ``__exact``.

3. Normalize when creating slugs or other attributes to be used in
URLs (this prevents collisions between "Foo" and "foo" at the database
level). I usually normalize to lowercase because I don't like
SHOUTING, but it doesn't really matter.

Jacob

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to