Django: Where to put helper functions?

Question:

I have a couple of functions that I wrote that I need to use in my django app. Where would I put the file with them and how would I make them callable within my views?

Asked By: The.Anti.9

||

Answers:

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

Answered By: Anurag Uniyal

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.

Answered By: monkut

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 🙂

Answered By: jujule

I am using new python file service.py in app folder. The file contains mostly helper queries for specific app. Also I used to create a folder inside Django application that contains global helper functions and constants.

Answered By: Tomas Tomecek
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.