Aldebaran

人生最棒的感觉,就是你做到别人说你做不到的事。

0%

Django常用命令

三田寺円

django-admin.py和manage.py的区别

在DJango里django-admin.py和manage.py都是Django的命令工具集,用于处理系统管理相关操作,而manage.py是在创建Django工程时自动生成的,manage.py是对django-admin.py的简单包装,二者的作用基本一致。

区别:

1、django-admin存放在Python的site-packages\django\bin 里,manage.py存放在项目工程文
件夹里。

2、django-admin可以对不同的项目进行设置,而manege.py只能当前的工程有效。

语法

$ django-admin <subcommand> [options]

$ manage.py <subcommand> [options]

subcommand是子命令;options是可选的

常用子命令:

startproject:创建一个项目(*)
startapp:创建一个app(*)
runserver:运行开发服务器(*)
shell:进入django shell(*)
dbshell:进入django dbshellcheck:检查django项目完整性
flush:清空数据库
compilemessages:编译语言文件
makemessages:创建语言文件
makemigrations:生成数据库同步脚本(*)
migrate:同步数据库(*)
showmigrations:查看生成的数据库同步脚本(*)
sqlflush:查看生成清空数据库的脚本(*)
sqlmigrate:查看数据库同步的sql语句(*)
dumpdata:导出数据
loaddata:导入数据
diffsettings:查看你的配置和django默认配置的不同之处
manage.py特有的一些子命令:
createsuperuser:创建超级管理员(*)
changepassword:修改密码(*)
clearsessions:清除session

常用的命令

  1. help

    作用:获得帮助信息

    语法:

     #显示帮助信息和可用命令
     $ python manege.py help
     #显示可用命令列表
     $ python manege.py help --commands
     #显示指定命令的详细文档
     $ python manage.py help  #commands为需要指定显示的命令
    
  1. version

    作用:获取到当前DJango的版本

    语法

     $ python manage.py version
    
  1. check

    作用:检查工程中是否存在错误(检查完整性)

    语法:

     $ python manage.py check [appname]   #命令后面跟APP名称
    
  2. startproject

    作用:创建Django工程

    语法:

     $ django-admin startproject mysite [项目想要存放的路径]
    
     manage.py: 一个让你用各种方式管理 Django 项目的命令行工具
     mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
     mysite/settings.py:Django 项目的配置文件
     mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”
     mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
    
  3. startapp

    作用:在当前机器启动一个Web服务器,运行Django项目

    项目 VS 应用项目和应用有啥区别?

    应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者简单的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

    语法:

     $ python manage.py startapp polls
    
  4. runserver

    作用:在当前机器启动一个Web服务器,运行Django项目

    语法:

     $ python manage.py runserver
    
  5. shell

    作用:启动一个交互窗口语法:

    语法:

     ##如果想使用ipython、bpython交互模式的话需要先安装以上交互工具,安装命令:pip install ipython#启用命令
     $ python manage.py shell
    
  6. 数据库

    Django通过migrations命令将Models中的任何修改写入到数库中,比如:新增加的模型或修改已有的字段等。

    • makemigrations

      作用:根据models的变化生成对应的Python代码,该代码用于更新数据库

      语法:

        $ python manage.py makemigrations
      
    • migrate

      作用:将model里的修改应用到数据库

      语法:

        $ python manage.py migrate #默认是所有的APP的修改应用到数据库
        $ python manage.py migrate [appname] #指定APP的修改应用到数据库
        $ python manage.py migrate [appname] [migrations_name] #将操作恢复到指定版本
      

      如果数据库里,已经手动更新了数据库,我们只是想设置当前的migration状态,就使用下面的命令去实现,这个命令并不会真正的去更新数据库。

      语法:

        $ python manage.py migrate XXXX zero
      
    • sqlmigrate

      作用:

      输出某一个migrate对应的SQL语句

      语法:

        $ python manage.py sqlmigrate blog 0001_initial
      
    • showmigrations

      作用:显示migrations记录

      语法:

        $ python manage.py showmigrations