Deprecated since version 1.4: This module has been deprecated. It’s available as a third-party package.
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.
Point Django at the default Databrowse templates. There are two ways to do this:
'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.django/contrib/databrowse/templates
directory, and add that
directory to your TEMPLATE_DIRS
setting.Register a number of models with the Databrowse site:
from django.contrib import databrowse
from myapp.models import SomeModel, SomeOtherModel, YetAnotherModel
databrowse.site.register(SomeModel)
databrowse.site.register(SomeOtherModel, YetAnotherModel)
Note that you should register the model classes, not instances.
Since Django 1.4, it is possible to register several models in the same
call to databrowse.site.register()
.
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
).
Change your URLconf to import the 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.
Run the Django server and visit /databrowse/
in your browser.
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 URLconf so that the
databrowse.site.root()
view is decorated with
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 URLconf, as described in the user authentication docs, 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
django.contrib.auth.views.login()
. The
user authentication docs provide full details and a
sample template that can be used for this purpose.
Apr 12, 2017