django-admin和manage.py用法

官网文档地址:django-admin和manage.py

金句:
所有的天赋,都来自于你对你喜欢的某种事物的模仿与学习,否则你就不会有这种天赋。

开篇话:

我们在Django开发过程中,命令行执行最多的应该就是python manage.py <command>,今天聊聊manage.py这个命令。

记录要点:

  1. django-adminmanage.py 能做同样的事情

    像我们常用的python manage.py runserver,用django-admin也可以操作:django-admim runserver

    注意:
    django-admin需要提前提前配置好DJANGO_SETTINGS_MODULE环境变量,或者执行时指定settings:django-admin runserver --settings=mysite.settings
    推荐使用manage.py 因为它更好使用,不需要配置东西。

  2. diffsettings

    列出当前settings.py内容跟默认创建的settings.py有哪些改变,未出现在默认设置中的设置后跟"###"。

  3. fulsh
    Linux 下我们经常调侃,如果解决不了遇到的问题了,那就试试:rm -rf /(玩笑话,请勿实操)
    django 也有类型的命令:python manage.py flush,默认删除default数据库,如果setting.py中配置多个数据库,可以指定:python manage.py flush --database DATABASE

  4. showmigrations

    showmigrations [app_label [app_label ...]] 显示项目中的所有迁移。
    如果有过个数据库,可以增加参数:--database DATABASE
    输出效果如下:

    admin
     [X] 0001_initial
     [X] 0002_logentry_remove_auto_add
     [ ] 0003_logentry_add_action_flag_choices
  5. startapp

    一般我们创建一个app是这么操作的:python manage.py startapp appname
    如果app2、3个时,我们可以直接这么操作。但是知道自己的项目下要有很多app,我们可以提前在项目目录下创建一个python package,然后在创建时,直接指定路径:python manage.py startapp appname [filepath],避免有的后期再移动。

  6. test

    常用命令:python manage.py test
    如果我们要保留测试数据时,我们可以带上参数--keepdb, -k,这样测试数据会保留。
    后期还会针对test出一篇文章,敬请期待。

  7. collectstatic

    django的admin管理后台的样式在DEBUG设置为True时,会导致页面样式丢失,这时就需要用到这个命令了。

    我还写了一篇如何配置collectstatic,可以看我的这篇文章。

本文首发于BigYoung小站

相关推荐