123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- ==========
- Databrowse
- ==========
- .. module:: django.contrib.databrowse
- :synopsis: Databrowse is a Django application that lets you browse your data.
- .. deprecated:: 1.4
- This module has been deprecated.
- 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.
- 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.
|