Django manage.py 命令详解

查看命令的作用的语句

C:\Users\Administrator> python manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.

Available subcommands:
[auth]
    changepassword   &#x66F4;&#x6539;&#x5BC6;&#x7801;
    createsuperuser  &#x521B;&#x5EFA;admin&#x8D85;&#x7EA7;&#x7528;&#x6237;
[contenttypes]
    remove_stale_contenttypes
[django]
    check
    compilemessages
    createcachetable &#x4F7F;&#x7528;&#x8BBE;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x4FE1;&#x606F;&#x521B;&#x5EFA;&#x4E0E;&#x6570;&#x636E;&#x5E93;&#x9AD8;&#x901F;&#x7F13;&#x5B58;&#x540E;&#x7AEF;&#x4E00;&#x8D77;&#x4F7F;&#x7528;&#x7684;&#x9AD8;&#x901F;&#x7F13;&#x5B58;&#x8868;
    dbshell          &#x8FDB;&#x5165;&#x6570;&#x636E;&#x5E93;&#x7684;&#x547D;&#x4EE4;&#x884C;
    diffsettings     &#x663E;&#x793A;&#x5F53;&#x524D;&#x8BBE;&#x7F6E;&#x6587;&#x4EF6;&#x548C;Django&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#xFF08;&#x6216;&#x6240;&#x6307;&#x5B9A;&#x7684;&#x53E6;&#x4E00;&#x4E2A;&#x8BBE;&#x7F6E;&#x6587;&#x4EF6;--default&#xFF09;&#x4E4B;&#x95F4;&#x7684;&#x5DEE;&#x5F02;
    dumpdata         &#x5BFC;&#x51FA;&#x6570;&#x636E;&#x5E93;&#x6570;&#x636E;
    flush            &#x6E05;&#x7A7A;&#x6570;&#x636E;&#x5E93;
    inspectdb        &#x8BA9;&#x672C;&#x5730;&#x7684;&#x6570;&#x636E;&#x5E93;&#x751F;&#x6210;models.py&#x5185;&#x7684;&#x4EE3;&#x7801;
    loaddata         &#x5BFC;&#x5165;&#x6570;&#x636E;&#x5E93;&#x6570;&#x636E;
    makemessages
    makemigrations   &#x751F;&#x6210;&#x6570;&#x636E;&#x5E93;&#x811A;&#x672C;&#xFF08;&#x8FC1;&#x79FB;&#x6587;&#x4EF6;&#xFF09;
    migrate          &#x540C;&#x6B65;&#x6570;&#x636E;&#x5E93;  &#x8FD9;&#x4E2A;&#x548C;makemigrations&#x662F;&#x505A;&#x6570;&#x636E;&#x5E93;&#x8FC1;&#x79FB;&#xFF0C;&#x6BCF;&#x6B21;&#x6570;&#x636E;&#x5E93;&#x6709;&#x66F4;&#x6539;&#x6216;&#x8005;model&#x6709;&#x66F4;&#x6539;&#x90FD;&#x9700;&#x8981;&#x64CD;&#x4F5C;
    sendtestemail    &#x5411;&#x6307;&#x5B9A;&#x7684;&#x6536;&#x4EF6;&#x4EBA;&#x53D1;&#x9001;&#x6D4B;&#x8BD5;&#x7535;&#x5B50;&#x90AE;&#x4EF6;,&#x6D4B;&#x8BD5;django&#x662F;&#x5426;&#x80FD;&#x591F;&#x53D1;&#x9001;&#x90AE;&#x4EF6;
    shell            django&#x7684;shell&#x547D;&#x4EE4;&#x884C;
    showmigrations   &#x663E;&#x793A;&#x9879;&#x76EE;&#x4E2D;&#x7684;&#x6240;&#x6709;&#x6570;&#x636E;&#x8FC1;&#x79FB;
    sqlflush         &#x6253;&#x5370;&#x5C06;&#x5BF9;&#x8BE5;flush &#x547D;&#x4EE4;&#x6267;&#x884C;&#x7684;SQL&#x8BED;&#x53E5;
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp         &#x521B;&#x5EFA;&#x5E94;&#x7528;
    startproject     &#x521B;&#x5EFA;&#x9879;&#x76EE;
    test             &#x5BF9;&#x6240;&#x6709;&#x5DF2;&#x5B89;&#x88C5;&#x7684;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x8FD0;&#x884C;&#x6D4B;&#x8BD5;
    testserver runserver &#x4F7F;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x914D;&#x7F6E;&#x8FD0;&#x884C;&#x670D;&#x52A1;
[sessions]
    clearsessions    &#x53EF;&#x4EE5;&#x4F5C;&#x4E3A;cron&#x4F5C;&#x4E1A;&#x8FD0;&#x884C;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x6E05;&#x9664;&#x8FC7;&#x671F;&#x7684;&#x4F1A;&#x8BDD;&#x3002;
[staticfiles]
    collectstatic
    findstatic
    runserver        &#x542F;&#x52A8;django&#x670D;&#x52A1;</subcommand>

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

6runserver

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

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

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

python manage.py runserver
python manage.py runserver 127.0.0.1:8080 # &#x5F53;&#x63D0;&#x793A;&#x7AEF;&#x53E3;&#x88AB;&#x5360;&#x7528;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x5176;&#x5B83;&#x7AEF;&#x53E3;

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

Original: https://www.cnblogs.com/huaxiayuyi/p/16687847.html
Author: 娇小赤雅
Title: Django manage.py 命令详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/809236/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球