I've got some code that runs on every (nearly) every admin request but doesn't have access to the 'request' object.
I need to find the pa开发者_C百科th to Django installation. I could do:
import django
django_path = django.__file__
but that seems rather wasteful in the middle of a request.
Does putting the import at the start of the module waste memory? I'm fairly sure I'm missing an obvious trick here.
So long as Django has already been import
ed in the Python process (which it has, if your code is, for example, in a view function), importing it again won't do "anything"* — so go nuts, use import django; django.__file__
.
Now, if Django hasn't been imported by the current Python process (eg, you're calling os.system("myscript.py")
and myscript.py
needs to determine Django's path), then import django
will be a bit wasteful. But spawning a new process on each request is also fairly wasteful… So if efficiency is important, it might be better import myscript
anyway.
*: actually it will set a value in a dictionary… But that's "nothing".
精彩评论