mirror of
				https://github.com/django/django.git
				synced 2025-10-26 07:06:08 +00:00 
			
		
		
		
	Thanks, Ramiro Morales. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13608 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ==========
 | |
| 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.
 |