Given a class C
in Python, how can I determine which file the class was defined in? I need something that can work from either the class C
, or from an instance of C
.
I am doing this because I am generally a fan of putting files that belong together in the same folder. I want to create a class that uses a Django template to render itself as HTML. The base implementation should infer the filename for the template based on the filename that the class is defined in.
Say I put a class LocationArtifact
in the file "base/artifacts.py", then I want the default behaviour to be that the template name is "base/LocationArtifact.html".