Django manage.py 命令详解

manage.py


查看命令的作用的语句

C:\Users\Administrator> python manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
    changepassword   更改密码
    createsuperuser  创建admin超级用户
[contenttypes]
    remove_stale_contenttypes
[django]
    check
    compilemessages
    createcachetable 使用设置文件中的信息创建与数据库高速缓存后端一起使用的高速缓存表
    dbshell          进入数据库的命令行
    diffsettings     显示当前设置文件和Django默认设置(或所指定的另一个设置文件--default)之间的差异
    dumpdata         导出数据库数据
    flush            清空数据库
    inspectdb        让本地的数据库生成models.py内的代码
    loaddata         导入数据库数据
    makemessages
    makemigrations   生成数据库脚本(迁移文件)
    migrate          同步数据库  这个和makemigrations是做数据库迁移,每次数据库有更改或者model有更改都需要操作
    sendtestemail    向指定的收件人发送测试电子邮件,测试django是否能够发送邮件
    shell            django的shell命令行
    showmigrations   显示项目中的所有数据迁移
    sqlflush         打印将对该flush 命令执行的SQL语句
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp         创建应用
    startproject     创建项目
    test             对所有已安装的应用程序运行测试
    testserver runserver 使用自定义配置运行服务
[sessions]
    clearsessions    可以作为cron作业运行,也可以直接清除过期的会话。
[staticfiles]
    collectstatic
    findstatic
    runserver        启动django服务

 

manage.py 命令选项

manage.py 是每个Django 项目中自动生成的一个用于管理项目的脚本文件,需要通过python 命令执行。manage.py 接受的是Django 提供的内置命令。

内置命令包含

1 check
2 dbshell
3 diffsettings
4 flush
5 makemigrations
6 migrate
7 runserver
8 shell
9 startapp
10 startprojec

其实有三种方式,可以在cmd 窗口中执行Django 提供的内置命令。

1 django-admin <command> [options]
2 python manage.py <command> [options]
3 python -m django <command> [options]


1 django-admin 是用于管理Django 的命令行工具集,当我们成功安装 Django 后,在操作系统中就会有这个命令。

2 manage.py 则是每个Django 项目中自动生成的一个用于管理项目的脚本文件,需要在cmd窗口中 cd 到 Django项目

的manage.py 所在的目录后通过python命令执行。其中的 command 是Django内置的或者你自定义的命令。

当然你可以在在 pycharm 中启动manage.py 时设置参数。

 

1 check

检查整个Django 项目是否存在常见问题默认情况下,所有应用都将被选中。可以通过提供app的名字检查指定的应用:

python manage.py check app

 

2 diffsettings

显示当前设置文件与Django的默认设置之间的差异。

python manage.py diffsettings

 

3 flush

从数据库中删除所有数据。

已应用的迁移不会被清除。只删除具体数据,不删除数据表。

如果您希望从空数据库启动并重新运行所有迁移,则应该删除并重新创建数据库,然后再运行 migrate,这样会连原

来的数据表都删了。

python manage.py flush

 

4 makemigrations

根据检测到的模型创建新的迁移。

迁移的作用,更多的是将数据库的操作,以文件的形式记录下来,方便以后检查重做等等。

尤其是对于Git版本管理,它无法获知数据库是如何变化的,只能通过迁移文件中的记录来追溯和保存。

python manage.py makemigrations app1 app2

 

5 migrate

使数据库状态与当前模型集和迁移集同步。

说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。

例如,新建、修改、删除数据表,新增、修改、删除某数据表内的字段等等。

python manage.py migrate

 

6 runserver

启用Django 为我们提供的轻量级的开发用的Web 服务器。

默认情况下,服务器运行在IP地址127.0.0.1 的 8000 端口上。

如果要自定义服务器端口和地址,可以显式地传递一个IP地址端口号给它。

python manage.py runserver
python manage.py runserver 127.0.0.1:8080 # 当提示端口被占用的时候,可以用其它端口

 

7 shell

启动带有Django 环境的Python 交互式解释器,也就是命令行环境。

默认使用基本的python 交互式解释器。这个命令非常常用,是我们测试开发过程中不可或缺的部分!

python manage.py shell

 

8 startapp

创建新的 app。默认情况下,会在这个新的 app 目录下创建一系列文件模版,比如models.py、views.py、admin.py等等。

python manage.py startapp app_name

 

9 startproject

新建工程。默认情况下,新目录包含 manage.py 脚本和项目包(包含 settings.py 和其他文件)。

python manage.py startproject project_name

 

10 test

运行所有已安装的 app 的测试代码。

python manage.py test [test_label [test_label ...]]

 

app提供的命令

前面是Django核心提供的命令项,下面则是一些内置app,比如auth等提供的命令项。它们只在对应的app启用的时候才可用。

changepassword 
createsuperuser 
clearsessions 
collectstatic

 

posted @ 2022-09-13 17:23  娇小赤雅  阅读(1208)  评论(0编辑  收藏  举报