Django: Where to put helper functions?

I usually put such app specific helper function in file utils.py and use someting like this

from myapp.utils import my_cool_func

def view_coolness(request):
    data = my_cool_func(request)
    return render_to_response("xxx.html")

but it depends what you helper does, may be they modify request , the could be part of middleware, so you need to tell what exactly those helper functions do


create a reusable app that include your generic functions so you can share between projects.

use for example a git repo to store this app and manage deployments and evolution (submodule)

use a public git repo so you can share with the community :)


If they are related to a specific app, I usually just put them in the related app folder and name the file, 'functions.py'.

If they're not specific to an app, I make a commons app for components (tests, models, functions, etc) that are shared across apps.