Django 3.0入门与实践
上QQ阅读APP看书,第一时间看更新

第4章
django-admin和manage.py

django-admin是Django的命令行工具集,用于处理系统管理员相关操作,而manage.py是在创建Django项目的时候自动生成的,二者之间的作用完全一样。

django-admin一般保存在环境变量中,在命令行或者终端都可以直接使用。它的物理路径在Python的site-packages/django/bin下,而manage.py存放在项目文件夹下。

django-admin可以对不同的项目进行设置,但是需要在命令行中指定--settings参数或者修改DJANGO_SETTINGS_MODULE环境变量,而manage.py只对当前工程有效,可以直接拿来使用。

下面是工程mysite的manage.py脚本内容:

总之,manage.py比django-admin更简单,本节所有命令都可以使用manage.py或者python -m django替代,以下是三个命令的等效用法:

    $ django-admin <command> [options]
    $ manage.py <command> [options]
    $ python -m django <command> [options]

注意

如果在运行某些django-admin命令的时候没有设置--settings参数,也没有设置环境变量DJANGO_SETTINGS_MODULE,就可能会出现异常。例如,执行check命令检查项目基本情况时就会抛出以下异常:

此时可以通过添加环境变量或者指定--settings和--pythonpath参数的方式来解决,可参考check命令的执行示例。