Django django-admin 和 manage.py 命令的使用

2023-03-27 09:55:21

django-admin是Django的用于管理任务的命令行实用程序,manage.py和他功能相同,但它是django-admin创建项目时为每一个项目创建的管理程序

注意: django-adminmanage.py 虽然共有绝大部分命令,但是建议对项目操作时使用 manage.pydjango-admin 在未设置环境变量 DJANGO_SETTINGS_MODULE 或未在之前调用 settings.configure() 的情况下会报错

django-admin 和 manage.py 共有命令

命令 功能
version 查看当前Django版本
check 检查整个Django项目是否存在常见问题
compilemessages makemessages创建的.po文件编译为.mo文件,支持与内置的文字一起使用
createcachetable 使用设置文件中的信息创建与数据库缓存后端一起使用的缓存表
dbshell 使用在USERPASSWORD等设置中指定的连接参数,为ENGINE设置中指定的数据库引擎运行命令行客户端
diffsettings 显示当前设置文件和Django默认设置(或--default指定的另一个设置文件)之间的差异
dumpdata 将与应用程序名称关联的数据库中的所有数据输出到标准输出
flush 从数据库中删除所有数据,然后重新执行所有同步后处理程序。已应用的迁移不会被清除
inspectdb 将Django模型模块(models.py文件)输出到标准输出。
loaddata 搜索指定的fixture(数据库的序列化内容的文件的集合)并将其内容加载到数据库中
makemessages 在当前目录的整个源代码树上运行,并拉取所有标记为要翻译的字符串。
makemigrations 根据检测到的模型更改或创建新迁移
migrate 将数据库状态与当前模型和迁移集同步
runserver 在本地计算机上启动轻量级开发Web服务器
sendtestemail 向指定的收件人发送测试电子邮件(以确认通过Django发送的电子邮件是否有效)
shell 启动Python交互式解释器
showmigrations 显示项目中的所有迁移
sqlflush 打印将为flush命令执行的SQL语句
sqlmigrate 打印迁移名称的SQL
sqlsequencereset 打印用于重设给定应用程序名称的序列的SQL语句
squashmigrations 如果可能的话,将app_label的迁移(包括migration_name在内)压缩为更小的迁移。
startapp 在当前目录或给定目录中为给定应用程序名称创建Django应用程序目录结构
startproject 在当前目录或给定目录中为给定项目名称创建Django项目目录结构
test 对所有已安装的应用程序运行测试
testserver 使用来自给定fixture的数据运行Django开发服务器(与runserver一样)

提供给应用程序的命令

命令 功能
changepassword 更改用户密码
createsuperuser 创建一个超级用户帐户(具有所有权限的用户)
remove_stale_contenttypes 从数据库中删除过时的内容类型(从已删除的模型中)
clearsessions 可以作为计划任务作业运行,也可以直接清除过期的会话。
collectstatic 将静态文件收集到中STATIC_ROOT
findstatic 使用已启用的查找器搜索一个或多个相对路径

常用命令

  • version

查看当前Django版本

django-admin version
  • check

使用系统检查框架来检查整个Django项目中的常见问题。

默认情况下,将检查所有应用程序。

  1. 通过提供应用标签列表作为参数来检查部分应用
py manage.py check auth admin myapp
  1. 限制检查为仅属于特定类别的检查
py manage.py check --tag models --tag compatibility
  1. 显示用于限制检测的标签
py manage.py check --list-tags

admin
caches
database
models
staticfiles
templates
translation
urls

  • createcachetable

指定将在其中创建缓存表的数据库

py manage.py createcachetable --database DATABASE
  • diffsettings

  1. 显示当前设置文件和Django默认设置之间的差异
py manage.py diffsettings
  1. 显示所有设置
py manage.py diffsettings --all
  • dumpdata

将与应用程序名称关联的数据库中的所有数据输出到标准输出

如果未提供应用程序名称,则所有安装的应用程序将被输出

  1. 输出所有应用程序关联的数据库中的所有数据
py manage.py dumpdata
  1. 输出所有指定应用程序关联的数据库中的所有数据
py manage.py dumpdata myapp
  1. 指定格式输出
py manage.py dumpdata --format xml

支持的序列选项有 json(默认), xml, yaml

  1. 排除指定应用程序
py manage.py dumpdata --exclude=myapp1
  1. 将所有数据保存
py manage.py dumpdata myapp > myapp_dump.json
  1. 其他选项

    --indent 输出中使用的缩进空间的数量

    --database 指定转储数据的数据库

    --natural-primary 省略此对象的序列化数据中的主键

    --pks PRIMARY_KEYS 仅输出由逗号分隔的主键列表指定的对象

    --output, -o 指定要写入序列化数据的文件

  • flush

从数据库中删除所有数据。已应用的迁移不会被删除。只删除具体数据,不删除数据表!

py manage.py flush
  • inspectdb

根据数据库中的表生成models文件

py manage.py inspectdb
  • loaddata

加载数据到数据库

py manage.py loaddata myapp_dump.json
  • makemigrations

  1. 对当前模型进行创建或更改迁移
py manage.py makemigrations
  1. 解决迁移冲突
py manage.py makemigrations --merge
  1. 对指定应用程序创建或更改迁移
py manage.py makemigrations myapp
  • migrate

  1. 将数据库状态与当前的模型和迁移集同步
py manage.py migrate
  1. 指定应用程序进行迁移同步
py manage.py migrate myapp
  1. 指定迁移文件进行同步
py manage.py migrate 0001
  • runserver

  1. 运行服务器
py manage.py runserver

默认 127.0.0.1:8000

  1. 使用IPv6开发服务器
py manage.py runserver -ipv6 或 django-admin runserver -6

默认 ::1:8000

  1. 使用指定指定端口
py manage.py runserver 7000
  1. 使用localhost
py manage.py runserver localhost:8000
  • shell

  1. 启动Python交互解释器
py manage.py shell
  1. 指定shell启动交互解释器
py manage.py shell -i ipython 或 py manage.py shell -i bpython 或 py manage.py shell -i python
  • showmigrations

  1. 显示项目中的所有迁移
py manage.py showmigrations
  1. 显示指定应用程序的所有迁移
py manage.py showmigrations myapp
  • sqlflush

打印将对该flush 命令执行的SQL语句

py manage.py sqlflush
  • sqlmigrate

输出指定应用程式迁移的SQL语句

py manage.py sqlmigrate myapp 0001
  • startapp

创建应用程序

py manage.py startapp myapp
  • startproject

  1. 在当前目录创建项目
django-admin startproject dome
  1. 在指定目录创建项目
django-admin startproject dome /Users/jairo/project/myproject
  • createsuperuser

创建超级管理员账户

py manage.py createsuperuser
  • changepassword

为超级管理员账户修改密码

py manage.py changepassword admin
  • 作者:Jairoguo
  • 原文链接:https://blog.csdn.net/Jairoguo/article/details/104451245
    更新时间:2023-03-27 09:55:21