diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/add_ons.txt | 2 | ||||
| -rw-r--r-- | docs/api_stability.txt | 2 | ||||
| -rw-r--r-- | docs/databases.txt | 9 | ||||
| -rw-r--r-- | docs/databrowse.txt | 56 | ||||
| -rw-r--r-- | docs/distributions.txt | 10 | ||||
| -rw-r--r-- | docs/django-admin.txt | 9 | ||||
| -rw-r--r-- | docs/faq.txt | 2 | ||||
| -rw-r--r-- | docs/generic_views.txt | 2 | ||||
| -rw-r--r-- | docs/install.txt | 29 | ||||
| -rw-r--r-- | docs/legacy_databases.txt | 4 | ||||
| -rw-r--r-- | docs/model-api.txt | 32 | ||||
| -rw-r--r-- | docs/overview.txt | 2 | ||||
| -rw-r--r-- | docs/settings.txt | 6 | ||||
| -rw-r--r-- | docs/syndication_feeds.txt | 19 | ||||
| -rw-r--r-- | docs/templates.txt | 12 | ||||
| -rw-r--r-- | docs/templates_python.txt | 2 | ||||
| -rw-r--r-- | docs/testing.txt | 2 | ||||
| -rw-r--r-- | docs/tutorial01.txt | 8 | ||||
| -rw-r--r-- | docs/tutorial02.txt | 8 | ||||
| -rw-r--r-- | docs/tutorial03.txt | 4 | ||||
| -rw-r--r-- | docs/tutorial04.txt | 2 |
21 files changed, 170 insertions, 52 deletions
diff --git a/docs/add_ons.txt b/docs/add_ons.txt index b92ae0bd17..4f45d99d9a 100644 --- a/docs/add_ons.txt +++ b/docs/add_ons.txt @@ -24,7 +24,7 @@ admin The automatic Django administrative interface. For more information, see `Tutorial 2`_. -.. _Tutorial 2: ../tutorial2/ +.. _Tutorial 2: ../tutorial02/ auth ==== diff --git a/docs/api_stability.txt b/docs/api_stability.txt index 508336e0ef..3fd793b0fd 100644 --- a/docs/api_stability.txt +++ b/docs/api_stability.txt @@ -101,7 +101,7 @@ change: .. _caching: ../cache/ .. _custom template tags and libraries: ../templates_python/ .. _database lookup: ../db_api/ -.. _django-admin utility: ../django_admin/ +.. _django-admin utility: ../django-admin/ .. _fastcgi integration: ../fastcgi/ .. _flatpages: ../flatpages/ .. _generic views: ../generic_views/ diff --git a/docs/databases.txt b/docs/databases.txt index 3545b58d47..b73f39843c 100644 --- a/docs/databases.txt +++ b/docs/databases.txt @@ -69,9 +69,12 @@ For now, InnoDB is probably your best choice. MySQLdb ------- -`MySQLdb`_ is the Python interface to MySQL. 1.2.1 is the first version that -has support for MySQL 4.1 and newer. If you are trying to use an older version -of MySQL, then 1.2.0 *might* work for you. +`MySQLdb`_ is the Python interface to MySQL. Version 1.2.1p2 or later is +required for full MySQL support in Django. Earlier versions will not work with +the ``mysql`` backend. + +If you are trying to use an older version of MySQL and the ``mysql_old`` +backend, then 1.2.0 *might* work for you. .. _MySQLdb: http://sourceforge.net/projects/mysql-python diff --git a/docs/databrowse.txt b/docs/databrowse.txt new file mode 100644 index 0000000000..e9691cc879 --- /dev/null +++ b/docs/databrowse.txt @@ -0,0 +1,56 @@ +========== +Databrowse +========== + +Databrowse is a Django application that lets you browse your data. + +As the Django admin dynamically creates an admin interface by introspecting +your models, Databrowse dynamically creates a rich, browsable Web site by +introspecting your models. + +.. admonition:: Note + + Databrowse is **very** new and is currently under active development. It + may change substantially before the next Django release. + + With that said, it's easy to use, and it doesn't require writing any + code. So you can play around with it today, with very little investment in + time or coding. + +How to use Databrowse +===================== + + 1. Point Django at the default Databrowse templates. There are two ways to + do this: + + * Add ``'django.contrib.databrowse'`` to your ``INSTALLED_APPS`` + setting. This will work if your ``TEMPLATE_LOADERS`` setting includes + the ``app_directories`` template loader (which is the case by + default). See the `template loader docs`_ for more. + + * Otherwise, determine the full filesystem path to the + ``django/contrib/databrowse/templates`` directory, and add that + directory to your ``TEMPLATE_DIRS`` setting. + + 2. Register a number of models with the Databrowse site:: + + from django.contrib import databrowse + + databrowse.site.register(SomeModel) + databrowse.site.register(SomeOtherModel) + + Note that you should register the model *classes*, not instances. + + It doesn't matter where you put this, as long as it gets executed at + some point. A good place for it is in your URLconf file (``urls.py``). + + 3. Add the following line to your URLconf:: + + (r'^databrowse/(.*)', databrowse.site.root), + + The prefix doesn't matter -- you can use ``databrowse/`` or ``db/`` or + whatever you'd like. + + 4. Run the Django server and visit ``/databrowse/`` in your browser. + +.. _template loader docs: ../templates_python/#loader-types diff --git a/docs/distributions.txt b/docs/distributions.txt index 63206c535e..4ec265f93c 100644 --- a/docs/distributions.txt +++ b/docs/distributions.txt @@ -47,16 +47,18 @@ Fedora ------ A Django package is available for `Fedora Linux`_, in the "Fedora Extras" -repository. The `current Fedora package`_ is based on Django 0.95.1, and can be -installed by typing ``yum install Django``. +repository. The `current Fedora package`_ is based on Django 0.96, and can be +installed by typing ``yum install Django``. The previous link is for the i386 +binary. Users of other architectures should be able to use that as a starting +point to find their preferred version. .. _Fedora Linux: http://fedora.redhat.com/ -.. _current Fedora package: http://fedoraproject.org/extras/6/i386/repodata/repoview/Django-0-0.95.1-1.fc6.html +.. _current Fedora package: http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386/repoview/Django.html Gentoo ------ -A Django build is available for `Gentoo Linux`_, and is based on Django 0.95.1. +A Django build is available for `Gentoo Linux`_, and is based on Django 0.96. The `current Gentoo build`_ can be installed by typing ``emerge django``. .. _Gentoo Linux: http://www.gentoo.org/ diff --git a/docs/django-admin.txt b/docs/django-admin.txt index cc23bfb559..cc2eadc365 100644 --- a/docs/django-admin.txt +++ b/docs/django-admin.txt @@ -61,7 +61,7 @@ Prints the admin-index template snippet for the given appnames. Use admin-index template snippets if you want to customize the look and feel of your admin's index page. See `Tutorial 2`_ for more information. -.. _Tutorial 2: ../tutorial2/ +.. _Tutorial 2: ../tutorial02/ createcachetable [tablename] ---------------------------- @@ -109,7 +109,8 @@ application(s). By default, the database will be dumped in JSON format. If you want the output to be in another format, use the ``--format`` option (e.g., ``format=xml``). You may specify any Django serialization backend (including any user specified -serialization backends named in the ``SERIALIZATION_MODULES`` setting). +serialization backends named in the ``SERIALIZATION_MODULES`` setting). The +``--indent`` option can be used to pretty-print the output. If no application name is provided, all installed applications will be dumped. @@ -220,6 +221,8 @@ one fixture can reference data in another fixture. If the database backend supports row-level constraints, these constraints will be checked at the end of the transaction. +The ``dumpdata`` command can be used to generate input for ``loaddata``. + .. admonition:: MySQL and Fixtures Unfortunately, MySQL isn't capable of completely supporting all the @@ -329,7 +332,7 @@ sqlall [appname appname ...] Prints the CREATE TABLE and initial-data SQL statements for the given appnames. -Refer to the description of ``sqlinitialdata`` for an explanation of how to +Refer to the description of ``sqlcustom`` for an explanation of how to specify initial data. sqlclear [appname appname ...] diff --git a/docs/faq.txt b/docs/faq.txt index 202b73c6be..e5a6acb36e 100644 --- a/docs/faq.txt +++ b/docs/faq.txt @@ -278,7 +278,7 @@ How do I get started? .. _`Download the code`: http://www.djangoproject.com/download/ .. _`installation guide`: ../install/ -.. _tutorial: ../tutorial1/ +.. _tutorial: ../tutorial01/ .. _documentation: ../ .. _ask questions: http://www.djangoproject.com/community/ diff --git a/docs/generic_views.txt b/docs/generic_views.txt index 0496a58691..5f7a669652 100644 --- a/docs/generic_views.txt +++ b/docs/generic_views.txt @@ -44,7 +44,7 @@ simple weblog app that drives the blog on djangoproject.com:: (r'^(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/$', 'archive_day', info_dict), (r'^(?P<year>\d{4})/(?P<month>[a-z]{3})/$', 'archive_month', info_dict), (r'^(?P<year>\d{4})/$', 'archive_year', info_dict), - (r'^/?$', 'archive_index', info_dict), + (r'^$', 'archive_index', info_dict), ) As you can see, this URLconf defines a few options in ``info_dict``. diff --git a/docs/install.txt b/docs/install.txt index dbbde93f83..4650fd746b 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -58,6 +58,7 @@ installed. If you're on Windows, check out the unofficial `compiled Windows version`_. * If you're using MySQL, you'll need MySQLdb_, version 1.2.1p2 or higher. + You will also want to read the database-specific notes for the `MySQL backend`_. * If you're using SQLite, you'll need pysqlite_. Use version 2.0.3 or higher. @@ -69,6 +70,34 @@ installed. .. _MySQLdb: http://sourceforge.net/projects/mysql-python .. _SQLite: http://www.sqlite.org/ .. _pysqlite: http://initd.org/tracker/pysqlite +.. _MySQL backend: ../databases/ + +Remove any old versions of Django +================================= + +If you are upgrading your installation of Django from a previous version, +you will need to uninstall the old Django version before installing the +new version. + +If you installed Django using ``setup.py install``, uninstalling +is as simple as deleting the ``django`` directory from your Python +``site-packages``. + +If you installed Django from a Python Egg, remove the Django ``.egg` file, +and remove the reference to the egg in the file named ``easy-install.pth``. +This file should also be located in your ``site-packages`` directory. + +.. admonition:: Where are my ``site-packages`` stored? + + The location of the ``site-packages`` directory depends on the operating + system, and the location in which Python was installed. However, the + following locations are common: + + * If you're using Linux: ``/usr/lib/python2.X/site-packages`` + + * If you're using Windows: ``C:\Python2.X\lib\site-packages`` + + * If you're using MacOSX: ``/Library/Python2.X/site-packages`` Install the Django code ======================= diff --git a/docs/legacy_databases.txt b/docs/legacy_databases.txt index 3e2753baca..ca3927e52f 100644 --- a/docs/legacy_databases.txt +++ b/docs/legacy_databases.txt @@ -9,7 +9,7 @@ utilities to automate as much of this process as possible. This document assumes you know the Django basics, as covered in the `official tutorial`_. -.. _official tutorial: ../tutorial1/ +.. _official tutorial: ../tutorial01/ Give Django your database parameters ==================================== @@ -52,7 +52,7 @@ Once you've cleaned up your models, name the file ``models.py`` and put it in the Python package that holds your app. Then add the app to your ``INSTALLED_APPS`` setting. -.. _django-admin.py documentation: ../django_admin/ +.. _django-admin.py documentation: ../django-admin/ Install the core Django tables ============================== diff --git a/docs/model-api.txt b/docs/model-api.txt index a03ed09eb2..b71668e37f 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -21,7 +21,7 @@ A companion to this document is the `official repository of model examples`_. (In the Django source distribution, these examples are in the ``tests/modeltests`` directory.) -.. _Database API reference: http://www.djangoproject.com/documentation/db_api/ +.. _Database API reference: ../db-api/ .. _official repository of model examples: http://www.djangoproject.com/documentation/models/ Quick example @@ -57,7 +57,7 @@ Some technical notes: syntax, but it's worth noting Django uses SQL tailored to the database backend specified in your `settings file`_. -.. _settings file: http://www.djangoproject.com/documentation/settings/ +.. _settings file: ../settings/ Fields ====== @@ -501,7 +501,7 @@ For each model field that has ``choices`` set, Django will add a method to retrieve the human-readable name for the field's current value. See `get_FOO_display`_ in the database API documentation. -.. _get_FOO_display: ../db_api/#get-foo-display +.. _get_FOO_display: ../db-api/#get-foo-display Finally, note that choices can be any iterable object -- not necessarily a list or tuple. This lets you construct choices dynamically. But if you find @@ -626,7 +626,7 @@ that takes the parameters ``field_data, all_data`` and raises Django comes with quite a few validators. They're in ``django.core.validators``. -.. _validator docs: http://www.djangoproject.com/documentation/forms/#validators +.. _validator docs: ../forms/#validators Verbose field names ------------------- @@ -734,10 +734,10 @@ relationship should work. All are optional: ``limit_choices_to`` A dictionary of lookup arguments and values (see the `Database API reference`_) that limit the available admin choices for this object. Use this - with ``models.LazyDate`` to limit choices of objects - by date. For example:: + with functions from the Python ``datetime`` module + to limit choices of objects by date. For example:: - limit_choices_to = {'pub_date__lte': models.LazyDate()} + limit_choices_to = {'pub_date__lte': datetime.now} only allows the choice of related objects with a ``pub_date`` before the current date/time to be @@ -792,8 +792,8 @@ relationship should work. All are optional: the related object. ======================= ============================================================ -.. _`Database API reference`: http://www.djangoproject.com/documentation/db_api/ -.. _related objects documentation: http://www.djangoproject.com/documentation/db_api/#related-objects +.. _`Database API reference`: ../db-api/ +.. _related objects documentation: ../db-api/#related-objects Many-to-many relationships ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -963,7 +963,7 @@ Example:: See the `docs for latest()`_ for more. -.. _docs for latest(): http://www.djangoproject.com/documentation/db_api/#latest-field-name-none +.. _docs for latest(): ../db-api/#latest-field-name-none ``order_with_respect_to`` ------------------------- @@ -1397,7 +1397,7 @@ if one of the ``list_display`` fields is a ``ForeignKey``. For more on ``select_related()``, see `the select_related() docs`_. -.. _the select_related() docs: http://www.djangoproject.com/documentation/db_api/#select-related +.. _the select_related() docs: ../db-api/#select-related ``ordering`` ------------ @@ -1502,7 +1502,7 @@ The way ``Manager`` classes work is documented in the `Retrieving objects`_ section of the database API docs, but this section specifically touches on model options that customize ``Manager`` behavior. -.. _Retrieving objects: http://www.djangoproject.com/documentation/db_api/#retrieving-objects +.. _Retrieving objects: ../db-api/#retrieving-objects Manager names ------------- @@ -1825,7 +1825,7 @@ just the ``where``, ``tables`` and ``params`` arguments to the standard lookup API. See `Other lookup options`_. .. _Python DB-API: http://www.python.org/peps/pep-0249.html -.. _Other lookup options: http://www.djangoproject.com/documentation/db_api/#extra-params-select-where-tables +.. _Other lookup options: ../db-api/#extra-params-select-where-tables Overriding default model methods -------------------------------- @@ -1858,7 +1858,7 @@ You can also prevent saving:: else: super(Blog, self).save() # Call the "real" save() method. -.. _database API docs: http://www.djangoproject.com/documentation/db_api/ +.. _database API docs: ../db-api/ Models across files =================== @@ -1915,7 +1915,7 @@ Each SQL file, if given, is expected to contain valid SQL. The SQL files are piped directly into the database after all of the models' table-creation statements have been executed. -The SQL files are read by the ``sqlinitialdata``, ``sqlreset``, ``sqlall`` and +The SQL files are read by the ``sqlcustom``, ``sqlreset``, ``sqlall`` and ``reset`` commands in ``manage.py``. Refer to the `manage.py documentation`_ for more information. @@ -1924,7 +1924,7 @@ order in which they're executed. The only thing you can assume is that, by the time your custom data files are executed, all the database tables already will have been created. -.. _`manage.py documentation`: http://www.djangoproject.com/documentation/django_admin/#sqlinitialdata-appname-appname +.. _`manage.py documentation`: ../django-admin/#sqlcustom-appname-appname Database-backend-specific SQL data ---------------------------------- diff --git a/docs/overview.txt b/docs/overview.txt index 35af75bf05..7b3559663a 100644 --- a/docs/overview.txt +++ b/docs/overview.txt @@ -297,5 +297,5 @@ The next obvious steps are for you to `download Django`_, read `the tutorial`_ and join `the community`_. Thanks for your interest! .. _download Django: http://www.djangoproject.com/download/ -.. _the tutorial: http://www.djangoproject.com/documentation/tutorial1/ +.. _the tutorial: http://www.djangoproject.com/documentation/tutorial01/ .. _the community: http://www.djangoproject.com/community/ diff --git a/docs/settings.txt b/docs/settings.txt index 63b5cceef9..45bdfa573d 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -59,7 +59,7 @@ Use the ``--settings`` command-line argument to specify the settings manually:: django-admin.py runserver --settings=mysite.settings -.. _django-admin.py: ../django_admin/ +.. _django-admin.py: ../django-admin/ On the server (mod_python) -------------------------- @@ -102,7 +102,7 @@ between the current settings file and Django's default settings. For more, see the `diffsettings documentation`_. -.. _diffsettings documentation: ../django_admin/#diffsettings +.. _diffsettings documentation: ../django-admin/#diffsettings Using settings in Python code ============================= @@ -462,7 +462,7 @@ A tuple of strings designating all applications that are enabled in this Django installation. Each string should be a full Python path to a Python package that contains a Django application, as created by `django-admin.py startapp`_. -.. _django-admin.py startapp: ../django_admin/#startapp-appname +.. _django-admin.py startapp: ../django-admin/#startapp-appname INTERNAL_IPS ------------ diff --git a/docs/syndication_feeds.txt b/docs/syndication_feeds.txt index a64914de3f..2a09307e09 100644 --- a/docs/syndication_feeds.txt +++ b/docs/syndication_feeds.txt @@ -114,6 +114,9 @@ Note: `object-relational mapper`_, ``items()`` doesn't have to return model instances. Although you get a few bits of functionality "for free" by using Django models, ``items()`` can return any type of object you want. + * If you're creating an Atom feed, rather than an RSS feed, set the + ``subtitle`` attribute instead of the ``description`` attribute. See + `Publishing Atom and RSS feeds in tandem`_, later, for an example. One thing's left to do. In an RSS feed, each ``<item>`` has a ``<title>``, ``<link>`` and ``<description>``. We need to tell the framework what data to @@ -298,7 +301,7 @@ Publishing Atom and RSS feeds in tandem --------------------------------------- Some developers like to make available both Atom *and* RSS versions of their -feeds. That's easy to do with Django: Just create a subclass of your ``feed`` +feeds. That's easy to do with Django: Just create a subclass of your ``Feed`` class and set the ``feed_type`` to something different. Then update your URLconf to add the extra versions. @@ -318,6 +321,20 @@ Here's a full example:: class AtomSiteNewsFeed(RssSiteNewsFeed): feed_type = Atom1Feed + subtitle = RssSiteNewsFeed.description + +.. Note:: + In this example, the RSS feed uses a ``description`` while the Atom feed + uses a ``subtitle``. That's because Atom feeds don't provide for a + feed-level "description," but they *do* provide for a "subtitle." + + If you provide a ``description`` in your ``Feed`` class, Django will *not* + automatically put that into the ``subtitle`` element, because a subtitle + and description are not necessarily the same thing. Instead, you should + define a ``subtitle`` attribute. + + In the above example, we simply set the Atom feed's ``subtitle`` to the + RSS feed's ``description``, because it's quite short already. And the accompanying URLconf:: diff --git a/docs/templates.txt b/docs/templates.txt index d93ee49ac1..2f9f769b96 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -702,11 +702,11 @@ Example:: Note that you can backslash-escape a format string if you want to use the "raw" value. In this example, "f" is backslash-escaped, because otherwise "f" is a format string that displays the time. The "o" doesn't need to be -escaped, because it's not a format character.:: +escaped, because it's not a format character:: It is the {% now "jS o\f F" %} -(Displays "It is the 4th of September" %} +This would display as "It is the 4th of September". regroup ~~~~~~~ @@ -1293,3 +1293,11 @@ A collection of template filters that implement these common markup languages: * Textile * Markdown * ReST (ReStructured Text) + +django.contrib.webdesign +------------------------ + +A collection of template tags that can be useful while designing a website, +such as a generator of Lorem Ipsum text. See the `webdesign documentation`_. + +.. _webdesign documentation: ../webdesign/ diff --git a/docs/templates_python.txt b/docs/templates_python.txt index 5dd8e4fde0..7cc9acede8 100644 --- a/docs/templates_python.txt +++ b/docs/templates_python.txt @@ -1020,7 +1020,7 @@ The ``takes_context`` parameter defaults to ``False``. When it's set to *True*, the tag is passed the context object, as in this example. That's the only difference between this case and the previous ``inclusion_tag`` example. -.. _tutorials: ../tutorial1/#creating-models +.. _tutorials: ../tutorial01/#creating-models Setting a variable in the context ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/testing.txt b/docs/testing.txt index 5b27ae6484..a135734144 100644 --- a/docs/testing.txt +++ b/docs/testing.txt @@ -404,7 +404,7 @@ In this example, any JSON fixture called ``mammals``, and any fixture named ``birds`` will be installed. See the documentation on `loading fixtures`_ for more details on defining and installing fixtures. -.. _`loading fixtures`: ../django_admin/#loaddata-fixture-fixture +.. _`loading fixtures`: ../django-admin/#loaddata-fixture-fixture This flush/load procedure is repeated for each test in the test case, so you can be certain that the outcome of a test will not be affected by diff --git a/docs/tutorial01.txt b/docs/tutorial01.txt index 0e857d09ca..7657bc7bf7 100644 --- a/docs/tutorial01.txt +++ b/docs/tutorial01.txt @@ -124,7 +124,7 @@ It worked! Full docs for the development server are at `django-admin documentation`_. -.. _django-admin documentation: ../django_admin/ +.. _django-admin documentation: ../django-admin/ Database setup -------------- @@ -382,7 +382,7 @@ If you're interested, also run the following commands: statements for this app. * ``python manage.py sqlall polls`` -- A combination of all the SQL from - the 'sql', 'sqlinitialdata', and 'sqlindexes' commands. + the 'sql', 'sqlcustom', and 'sqlindexes' commands. Looking at the output of those commands can help you understand what's actually happening under the hood. @@ -400,7 +400,7 @@ as you like, and it will only ever create the tables that don't exist. Read the `django-admin.py documentation`_ for full information on what the ``manage.py`` utility can do. -.. _django-admin.py documentation: ../django_admin/ +.. _django-admin.py documentation: ../django-admin/ Playing with the API ==================== @@ -578,4 +578,4 @@ When you're comfortable with the API, read `part 2 of this tutorial`_ to get Django's automatic admin working. .. _Database API reference: ../db_api/ -.. _part 2 of this tutorial: ../tutorial2/ +.. _part 2 of this tutorial: ../tutorial02/ diff --git a/docs/tutorial02.txt b/docs/tutorial02.txt index 2eabae96f0..6e4b0ea35e 100644 --- a/docs/tutorial02.txt +++ b/docs/tutorial02.txt @@ -5,7 +5,7 @@ Writing your first Django app, part 2 This tutorial begins where `Tutorial 1`_ left off. We're continuing the Web-poll application and will focus on Django's automatically-generated admin site. -.. _Tutorial 1: ../tutorial1/ +.. _Tutorial 1: ../tutorial01/ .. admonition:: Philosophy @@ -61,8 +61,8 @@ tutorial, remember?) You should see the Django admin index page: :alt: Django admin index page :target: http://media.djangoproject.com/img/doc/tutorial/admin02.png -By default, you should see two types of editable content: groups and users. -These are core features Django ships with by default. +You should see a few other types of editable content, including groups, users +and sites. These are core features Django ships with by default. .. _"I can't log in" questions: ../faq/#the-admin-site @@ -434,4 +434,4 @@ When you're comfortable with the admin site, read `part 3 of this tutorial`_ to start working on public poll views. .. _Django admin CSS guide: ../admin_css/ -.. _part 3 of this tutorial: ../tutorial3/ +.. _part 3 of this tutorial: ../tutorial03/ diff --git a/docs/tutorial03.txt b/docs/tutorial03.txt index 17b6ec0c68..8bb63791aa 100644 --- a/docs/tutorial03.txt +++ b/docs/tutorial03.txt @@ -5,7 +5,7 @@ Writing your first Django app, part 3 This tutorial begins where `Tutorial 2`_ left off. We're continuing the Web-poll application and will focus on creating the public interface -- "views." -.. _Tutorial 2: ../tutorial2/ +.. _Tutorial 2: ../tutorial02/ Philosophy ========== @@ -463,4 +463,4 @@ All the poll app cares about is its relative URLs, not its absolute URLs. When you're comfortable with writing views, read `part 4 of this tutorial`_ to learn about simple form processing and generic views. -.. _part 4 of this tutorial: ../tutorial4/ +.. _part 4 of this tutorial: ../tutorial04/ diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt index b1c8c7d4fc..e3d5d4dfc5 100644 --- a/docs/tutorial04.txt +++ b/docs/tutorial04.txt @@ -256,4 +256,4 @@ installments: * Advanced admin features: Permissions * Advanced admin features: Custom JavaScript -.. _Tutorial 3: ../tutorial3/ +.. _Tutorial 3: ../tutorial03/ |
