Skip to content

Commit

Permalink
Fixed #17166 -- Documented how FIXTURE_DIRS works in the inital data …
Browse files Browse the repository at this point in the history
…how-to, and edited related bits in the settings reference.

Performed minor edits for consistency while I was there.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@17558 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
aaugustin committed Feb 19, 2012
1 parent 9d0bf66 commit 1d78897
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 11 deletions.
25 changes: 19 additions & 6 deletions docs/howto/initial-data.txt
Expand Up @@ -13,6 +13,8 @@ but initial SQL is also quite a bit more flexible.
.. _initial data as sql: `providing initial sql data`_
.. _initial data via fixtures: `providing initial data with fixtures`_

.. _initial-data-via-fixtures:

Providing initial data with fixtures
====================================

Expand Down Expand Up @@ -65,12 +67,12 @@ And here's that same fixture as YAML:

You'll store this data in a ``fixtures`` directory inside your app.

Loading data is easy: just call :djadmin:`manage.py loaddata fixturename
<loaddata>`, where *fixturename* is the name of the fixture file you've created.
Every time you run :djadmin:`loaddata` the data will be read from the fixture
and re-loaded into the database. Note that this means that if you change one of
the rows created by a fixture and then run :djadmin:`loaddata` again you'll
wipe out any changes you've made.
Loading data is easy: just call :djadmin:`manage.py loaddata <fixturename>
<loaddata>`, where ``<fixturename>`` is the name of the fixture file you've
created. Every time you run :djadmin:`loaddata` the data will be read from the
fixture and re-loaded into the database. Note that this means that if you
change one of the rows created by a fixture and then run :djadmin:`loaddata`
again you'll wipe out any changes you've made.

Automatically loading initial data fixtures
-------------------------------------------
Expand All @@ -80,6 +82,17 @@ be loaded every time you run :djadmin:`syncdb`. This is extremely convenient,
but be careful: remember that the data will be refreshed *every time* you run
:djadmin:`syncdb`. So don't use ``initial_data`` for data you'll want to edit.

Where Django finds fixture files
--------------------------------

By default, Django looks in the ``fixtures`` directory inside each app for
fixtures. You can set the :setting:`FIXTURE_DIRS` setting to a list of
additional directories where Django should look.

When running :djadmin:`manage.py loaddata <loaddata>`, you can also
specify an absolute path to a fixture file, which overrides searching
the usual directories.

.. seealso::

Fixtures are also used by the :ref:`testing framework
Expand Down
15 changes: 10 additions & 5 deletions docs/ref/settings.txt
Expand Up @@ -1098,9 +1098,12 @@ FIXTURE_DIRS

Default: ``()`` (Empty tuple)

List of locations of the fixture data files, in search order. Note that
these paths should use Unix-style forward slashes, even on Windows. See
:doc:`/topics/testing`.
List of directories searched for fixture files, in addition to the
``fixtures`` directory of each application, in search order.

Note that these paths should use Unix-style forward slashes, even on Windows.

See :ref:`initial-data-via-fixtures` and :ref:`topics-testing-fixtures`.

FORCE_SCRIPT_NAME
------------------
Expand Down Expand Up @@ -1945,8 +1948,10 @@ TEMPLATE_DIRS

Default: ``()`` (Empty tuple)

List of locations of the template source files, in search order. Note that
these paths should use Unix-style forward slashes, even on Windows.
List of locations of the template source files searched by
:class:`django.template.loaders.filesystem.Loader`, in search order.

Note that these paths should use Unix-style forward slashes, even on Windows.

See :doc:`/topics/templates`.

Expand Down

0 comments on commit 1d78897

Please sign in to comment.