By manually appending mysite_dir to sys.path, you ensure that Django can correctly import the project modules (like mysite.settings) even when the process is started from outside the project directory or with an embedded Python.
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
mysite_dir = os.path.join(os.path.dirname(__file__))
sys.path.append(mysite_dir)
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
Windows Django
26 March 2025
|
Last Updated: 13 Feb. 2026
|
jaimedcsilva Related