From 7d7119897c3d2367f7d68d34240820b1ddf6927a Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Thu, 14 Feb 2008 04:54:03 +0000 Subject: [PATCH] Updated the documentation for patterns() to note Python's 255 argument limit. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7110 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/url_dispatch.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/url_dispatch.txt b/docs/url_dispatch.txt index 6ed7043fd5..952763f078 100644 --- a/docs/url_dispatch.txt +++ b/docs/url_dispatch.txt @@ -190,6 +190,28 @@ The remaining arguments should be tuples in this format:: ...where ``optional dictionary`` and ``optional name`` are optional. (See `Passing extra options to view functions`_ below.) +.. note:: + Since `patterns()` is a function call, it accepts a maximum of 255 + arguments (URL patterns, in this case). This is a limit for all Python + function calls. This will rarely be problem in practice, since you'll + typically structure your URL patterns modularly by using `include()` + sections. However, on the off-chance you do hit the 255-argument limit, + realise that `patterns()` returns a Python list, so you can split up the + construction of the list. + + :: + + urlpatterns = patterns('', + ... + ) + urlpatterns += patterns('', + ... + ) + + Python lists have unlimited size, so there's no limit to how many URL + patterns you can construct; merely that you may only create 254 at a time + (the 255-th argument is the initial prefix argument). + url ---