Windows下同时运行多个Django项目
有两个项目,一个是后台,一个是网站,网站项目中要访问后台项目中的RESTful服务。如果能在一台开发用Windows机器中同时运行这两个项目,程序调试的时候就会很方便。
单个Django项目开发前,一般要先设置好环境变量 PYTHONPATH 和 DJANGO_SETTINGS_MODULE。假如有一个项目 sonnet1api,位于 D:\dev\sonnet1api,那么这两个变量的值应该这样设置:
PYTHONPATH=D:\dev;D:\dev\sonnet1api
DJANGO_SETTINGS_MODULE=sonnet1api.settings
显然不同的项目需要不同的变量值 ,而这样设置的环境变量是全局有效的。有没有一种方法可以让不同的项目使用各自的环境变量(同名,但值不同)呢?还真有,那就是 setlocal,它可以启动批处理文件中环境变量的本地化,本地化将持续到出现匹配的 endlocal 命令或者到达批处理文件结尾为止。
在项目的根目录中创建类似下面这样的批处理文件:
@echo off setlocal set PYTHONPATH=D:\dev;%cd% set DJANGO_SETTINGS_MODULE=sonnet1api.settings python manage.py runserver 8011 --noreload endlocal
打开命令窗口,直接执行上述批处理,就可以让该Django项目运行起来了。参照上述批处理文件内容,为其他项目创建类似的批处理,并使用不同的端口,就能实现多个项目同时运行。