官网文档地址:django-admin和manage.py
金句: 所有的天赋,都来自于你对你喜欢的某种事物的模仿与学习,否则你就不会有这种天赋。 开篇话:我们在Django开发过程中,命令行执行最多的应该就是python manage.py <command>,今天聊聊manage.py这个命令。
记录要点:
django-admin和manage.py 能做同样的事情
像我们常用的python manage.py runserver,用django-admin也可以操作:django-admim runserver
注意:
django-admin需要提前提前配置好DJANGO_SETTINGS_MODULE环境变量,或者执行时指定settings:django-admin runserver --settings=mysite.settings
推荐使用manage.py 因为它更好使用,不需要配置东西。
diffsettings
列出当前settings.py内容跟默认创建的settings.py有哪些改变,未出现在默认设置中的设置后跟"###"。
fulsh
Linux 下我们经常调侃,如果解决不了遇到的问题了,那就试试:rm -rf /(玩笑话,请勿实操)
django 也有类型的命令:python manage.py flush,默认删除default数据库,如果setting.py中配置多个数据库,可以指定:python manage.py flush --database DATABASE
showmigrations
showmigrations [app_label [app_label ...]] 显示项目中的所有迁移。
如果有过个数据库,可以增加参数:--database DATABASE
输出效果如下:
startapp
一般我们创建一个app是这么操作的:python manage.py startapp appname 。
如果app2、3个时,我们可以直接这么操作。但是知道自己的项目下要有很多app,我们可以提前在项目目录下创建一个python package,然后在创建时,直接指定路径:python manage.py startapp appname [filepath],避免有的后期再移动。
test
常用命令:python manage.py test
如果我们要保留测试数据时,我们可以带上参数--keepdb, -k,这样测试数据会保留。
后期还会针对test出一篇文章,敬请期待。
collectstatic
django的admin管理后台的样式在DEBUG设置为True时,会导致页面样式丢失,这时就需要用到这个命令了。
我还写了一篇如何配置collectstatic,可以看我的这篇文章。