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

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django manage.py 命令详解 - Python技术站

(0)
上一篇 2023年4月2日 下午4:59
下一篇 2023年4月2日 下午4:59

相关文章

  • Django request对象

    request对象       request.method         # 获取当前的请求方式,并且返回的是全大写的字符串 print(request.POST.get(‘hobby’))   # 只能接收最后一个 print(request.POST.getlist(‘hobby’))  # 接收多个 request.GET.get(‘name’) …

    Python开发 2023年4月2日
    00
  • Django 之视图层

                JsonResponse 1 json格式的数据有什么用 前后端数据交互需要使用json作为过渡,实现跨语言传输数据 2 前后端方法对应 JSON.stringify() –  json.dumps() JSON.parse()     –  json.loads() 3 JsonResponse 对象实现 import json f…

    Python开发 2023年4月2日
    00
  • Django django-admin.py 命令详解

    一、Django 基本命令 下载 Django pip3 install django     # 默认下载最新版 pip3 install django==4.1  # 手动选择版本   创建Django 项目 格式:django-admin startproject 项目名 django-admin startproject mysite   创建APP…

    2023年4月2日
    00
  • Django 出现 frame because it set X-Frame-Options to deny 错误

    一、背景 使用 django3 进行开发时,由于项目前端页面使用iframe框架,浏览器错误提示信息如下 Refused to display ‘http://127.0.0.1:8000/’ in a frame because it set ‘X-Frame-Options’ to ‘deny’.  根据提示信息发现是因为 X-Frame-Options…

    Python开发 2023年4月2日
    00
  • Django 聚合查询 分组查询 F与Q查询

    一、聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字…

    Python开发 2023年4月2日
    00
  • Django ORM 实现数据的多表 增删改查

    一、创建模型和表 假定下面这些概念、字段与关系: 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放到详情表,手机号,家庭住址信息。 作者详情模型 和 作者模型之间是一对一的关系(one-to-one)。 出版社模型:出版社有名称,所在城市以及email。 书籍模型: 书籍有书名和价格、出版日期。 一本书可能会有多个作者,一个作者也可以写多本书,…

    Python开发 2023年4月2日
    00
  • Django 聚合分组F与Q查询及choices

    一、聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字…

    Python开发 2023年4月2日
    00
  • Django 之路由层

    一、Django 请求周期生命流程图 首先,用户在浏览器中输入URL,发送一个GET 或 POST 方法的request 请求。 Django 中封装了socket 的WSGI 服务器,监听端口接受这个request 请求。 再进行初步封装,然后传送到中间件中,这个request 请求再依次经过中间件。 对请求进行校验或处理,再传输到路由系统中进行路由分发,…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部