django-infuse 0.3

A series of class based view mixins.
Django Infuse

Series of Class based mixins.  Requires Django 1.4s use of PermissionDenied exception. 


    pip install django-infuse
Currently Supported Mixins

* Permission Required
* Staff Required
* Super User required
* Login Required
* Group Required


### Login Required Mixin

Inherit the mixin you want to use and add any additional (optional) params.

	from infuse.auth.permissions import LoginRequiredMixin

	class MyLoginProtectedView(LoginRequiredMixin, ListView):
		# If login_url is not the url you want to redirect
		# users to, set one here.

		login_url = "/my/new/url/"

		# Do the rest of your stuff.....

### Group Required Mixin

The only other different one is GroupRequiredMixin

	from infuse.auth.permissions import GroupRequiredMixin

	class MyGroupRequiredView(GroupRequiredMixin, ListView):
		# Uses login_required, so you can optionally pass in
		# a url just like LoginRequired.

		# You MUST set a group, Infuse will throw an exception
		# if you do not.

		group = "My Awesome Group"

### Permission Required Mixin

Original work by Kenneth Love and Chris Jones.  Modified to always raise PermissionDenied

	from infuse.auth.permissions import PermissionRequiredMixin

	class PermissionRequiredView(PermissionRequiredMixin, ListView):
		# Permission to require
		permssion_required = 'model.can_do_something'

### Save and Continue Form Wizard

This mixin is still very much in a alpha status.  The django form wizard does not support the concept of 'Finish Later' or any
built in ability to save the form 'half done'.  This mixin provides a way for developers to add a 'Finish Later' functionality 
to their form wizard.

In order to use the 'Finish Later' functionality you must add a button/input element on your form wizard templates and name it 'save_only'

    <input type='submit' name='save_only' value='Finish Later'>
Next inherit the SaveAndContinue Mixin

    from infuse.wizard.mixins import SaveAndContinueWizard
    class MyFinishLaterWizard(SaveAndContinueWizard):
        # This url is where the user will be redirected to when 
        # they click the 'Finish Later' button
        save_only_url = reverse_lazy('wheretogowhenuserssaves')
In addition to the ``save_only_url`` that you are required to set, you may also provide the following methods:

    def post_save_only(self):
    def process_wizard_goto_step(self, wizard_goto_step):
        if wizard_goto_step and wizard_goto_step in self.get_form_list():
   = wizard_goto_step
            form = self.get_form(
            return self.render(form)
    def pre_process(self, form):

    def additional_file_processing(self):

* ``post_save_only`` - Called when save_only is executed.  Provides a way to hook into the save_only processor
* ``pre_process`` - Do any pre processing before forms are attempted to save.  Can be used to setup formsets.
* ``additional_file_processing`` - Do any additional file processing.  I use this to make sure that files saved to AWS are saved 
with the correct file name.
* ``process_wizard_goto_step`` - Allows you to override the default behaviour of going between steps.

This particular mixin is extreamly powerful, but is in a constantly changing state.  If you are using it, please provide some feedback of how and what your using it for, as well as any improvements you have.


Derek Stegelman




  • Development Status :: 5 - Production/Stable
  • Environment :: Web Environment
  • Framework :: Django
  • License :: OSI Approved :: MIT License
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Intended Audience :: End Users/Desktop
  • Natural Language :: English
  • Topic :: Utilities
  • Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries
File Type Python Version Uploaded On Downloads
django-infuse-0.3.tar.gz Source Jan. 12, 2013 4,414
Version Release Date
0.3 Jan. 12, 2013
0.2.1 Jan. 2, 2013
0.2 Nov. 19, 2012
0.1 Nov. 19, 2012
0.1-alpha Aug. 26, 2015
Date Package Version Action
Aug. 26, 2015, 12:14 a.m. django-infuse 0.2.1 Release Created
Aug. 26, 2015, 12:14 a.m. django-infuse 0.2 Release Created
Aug. 26, 2015, 12:14 a.m. django-infuse 0.3 Release Created
Aug. 26, 2015, 12:14 a.m. django-infuse 0.1-alpha Release Created
Aug. 26, 2015, 12:14 a.m. django-infuse 0.1 Release Created
Aug. 26, 2015, 12:14 a.m. django-infuse Package Created