前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python:Web框架 Django之manage.py

Python:Web框架 Django之manage.py

作者头像
Freedom123
发布2024-03-29 14:15:32
670
发布2024-03-29 14:15:32
举报
文章被收录于专栏:DevOpsDevOps

简介

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

内置命令包含 check,dbshell,diffsettings,flush,makemigrations,migrate,runserver,shell,startapp,startproject,test 。

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

代码语言:javascript
复制
$ django-admin <command> [options]
$ python manage.py <command> [options]
$ python -m django <command> [options]

其中

  • 1、django-admin是用于管理Django的命令行工具集,当我们成功安装Django后,在操作系统中就会有这个命令,但是根据安装方式或者系统环境的不同,你可能需要配置一下调用路径。在Linux下,该命令一般位于site-packages/django/bin,最好做一个链接到/usr/local/bin,方便调用。Windows下可以配置系统环境变量
  • 2、manage.py则是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要在cmd窗口中cd到Django项目的manage.py所在的目录后通过python命令执行。

一、命令

1. check

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

代码语言:javascript
复制
python manage.py check app1
2. diffsettings

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

代码语言:javascript
复制
python manage.py diffsettings
3. flush

从数据库中删除所有数据。已应用的迁移不会被清除。只删除具体数据,不删除数据表!如果您希望从空数据库启动并重新运行所有迁移,则应该删除并重新创建数据库,然后再运行migrate,这样会连原来的数据表都删了。

代码语言:javascript
复制
python manage.py flush
4. makemigrations

根据检测到的模型创建新的迁移。迁移的作用,更多的是将数据库的操作,以文件的形式记录下来,方便以后检查、调用、重做等等。尤其是对于Git版本管理,它无法获知数据库是如何变化的,只能通过迁移文件中的记录来追溯和保存。

代码语言:javascript
复制
python manage.py makemigrations app1 app2
5. migrate

使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建、修改、删除数据表,新增、修改、删除某数据表内的字段等等。

代码语言:javascript
复制
python manage.py migrate
6. runserver

启用Django为我们提供的轻量级的开发用的Web服务器。默认情况下,服务器运行在IP地址127.0.0.1的8000端口上。如果要自定义服务器端口和地址,可以显式地传递一个IP地址和端口号给它。

代码语言:javascript
复制
python manage.py runserver

# 指定地址及端口 
python manage.py runserver 127.0.0.1:8080
7. shell

启动带有Django环境的Python交互式解释器,也就是命令行环境。默认使用基本的python交互式解释器。这个命令非常常用,是我们测试和开发过程中不可或缺的部分!

代码语言:javascript
复制
python manage.py shell
8. startapp

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

代码语言:javascript
复制
python manage.py startapp app_name
9. startproject

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

代码语言:javascript
复制
python manage.py startproject project_name
10. test

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

代码语言:javascript
复制
python manage.py test [test_label [test_label ...]]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 一、命令
    • 1. check
      • 2. diffsettings
        • 3. flush
          • 4. makemigrations
            • 5. migrate
              • 6. runserver
                • 7. shell
                  • 8. startapp
                    • 9. startproject
                      • 10. test
                      相关产品与服务
                      数据库
                      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档