django-admin是Django的命令行工具集,用于处理系统管理员相关操作,而manage.py是在创建Django项目的时候自动生成的,二者之间的作用完全一样。 django-admin一般保存在环境变量中,在命令行
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脚本内容:
# !/usr/bin/env python"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
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()
总之,manage.py比django-admin更简单,本节所有命令都可以使用manage.py或者python -mdjango替代,以下是三个命令的等效用法:
$django-admin<command>[options]$manage.py<command>[options]
$python -m django<command>[options]
help
作用:取得帮助信息
语法:
显示帮助信息及可以命令
django-admin help显示可用命令列表。[插图]
django-admin help --command显示指定命令的详细帮助文档。
django-admin help<command>示例:查看check命令的用法,如下图所示。
version
作用:取得当前django版本信息
语法:django-admin version
check
作用:检查工程中是否存在错误,默认会检查全部应用。
语法:django-admin check [app_label [app_label ...]]
示例:输入命令django-admin check auth polls --settings=mysite.settings --pythonpath=D:\Code\django3\mysite