1、创建测试环境的配置文件 local_settings.py
将数据库连接等配置参数全部改成测试环境对应的值。
2、修改manager.py 配置文件(我的是python3.8)
# 修改前
def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_test.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()
# 修改后
def main():
if len(sys.argv) > 3:
run_arg = sys.argv[2]
if not run_arg.startswith('--settings'):
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_test.settings')
else:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_test.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()
3、启动示例
(venv) macdeMac:dj_test mac$ python manage.py runserver --settings='dj_test.local_settings'
Performing system checks...
System check identified no issues (0 silenced).
January 20, 2020 - 08:08:22
Django version 3.0.2, using settings 'dj_test.local_settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.