summaryrefslogtreecommitdiff
path: root/parts/django/docs/ref/contrib/databrowse.txt
diff options
context:
space:
mode:
Diffstat (limited to 'parts/django/docs/ref/contrib/databrowse.txt')
-rw-r--r--parts/django/docs/ref/contrib/databrowse.txt90
1 files changed, 90 insertions, 0 deletions
diff --git a/parts/django/docs/ref/contrib/databrowse.txt b/parts/django/docs/ref/contrib/databrowse.txt
new file mode 100644
index 0000000..33c8228
--- /dev/null
+++ b/parts/django/docs/ref/contrib/databrowse.txt
@@ -0,0 +1,90 @@
+==========
+Databrowse
+==========
+
+.. module:: django.contrib.databrowse
+ :synopsis: Databrowse is a Django application that lets you browse your data.
+
+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 :setting:`INSTALLED_APPS`
+ setting. This will work if your :setting:`TEMPLATE_LOADERS` setting
+ includes the ``app_directories`` template loader (which is the case by
+ default). See the :ref:`template loader docs <template-loaders>` for
+ more.
+
+ * Otherwise, determine the full filesystem path to the
+ :file:`django/contrib/databrowse/templates` directory, and add that
+ directory to your :setting:`TEMPLATE_DIRS` setting.
+
+ 2. Register a number of models with the Databrowse site::
+
+ from django.contrib import databrowse
+ from myapp.models import SomeModel, SomeOtherModel
+
+ 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 :doc:`URLconf file
+ </topics/http/urls>` (``urls.py``).
+
+ 3. Change your URLconf to import the :mod:`~django.contrib.databrowse` module::
+
+ from django.contrib import databrowse
+
+ ...and 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.
+
+Requiring user login
+====================
+
+You can restrict access to logged-in users with only a few extra lines of
+code. Simply add the following import to your URLconf::
+
+ from django.contrib.auth.decorators import login_required
+
+Then modify the :doc:`URLconf </topics/http/urls>` so that the
+:func:`databrowse.site.root` view is decorated with
+:func:`django.contrib.auth.decorators.login_required`::
+
+ (r'^databrowse/(.*)', login_required(databrowse.site.root)),
+
+If you haven't already added support for user logins to your :doc:`URLconf
+</topics/http/urls>`, as described in the :doc:`user authentication docs
+</ref/contrib/auth>`, then you will need to do so now with the following
+mapping::
+
+ (r'^accounts/login/$', 'django.contrib.auth.views.login'),
+
+The final step is to create the login form required by
+:func:`django.contrib.auth.views.login`. The
+:doc:`user authentication docs </ref/contrib/auth>` provide full details and a
+sample template that can be used for this purpose.