mirror of
				https://github.com/django/django.git
				synced 2025-10-28 08:06:09 +00:00 
			
		
		
		
	git-svn-id: http://code.djangoproject.com/svn/django/trunk@17405 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ==========
 | |
| 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, YetAnotherModel
 | |
| 
 | |
|        databrowse.site.register(SomeModel)
 | |
|        databrowse.site.register(SomeOtherModel, YetAnotherModel)
 | |
| 
 | |
|    Note that you should register the model *classes*, not instances.
 | |
| 
 | |
|    .. versionchanged:: 1.4
 | |
| 
 | |
|    Since Django 1.4, it is possible to register several models in the same
 | |
|    call to :func:`~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 :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.
 |