官网文档地址: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
输出效果如下:
admin [X] 0001_initial [X] 0002_logentry_remove_auto_add [ ] 0003_logentry_add_action_flag_choices - startapp
一般我们创建一个app是这么操作的:python manage.py startapp appname
。
如果app2、3个时,我们可以直接这么操作。但是知道自己的项目下要有很多app,我们可以提前在项目目录下创建一个python package,然后在创建时,直接指定路径:python manage.py startapp appname [filepath]
,避免有的后期再移动。 - test
常用命令:python manage.py test <appname>
如果我们要保留测试数据时,我们可以带上参数--keepdb, -k
,这样测试数据会保留。
后期还会针对test出一篇文章,敬请期待。 - collectstatic
django的admin管理后台的样式在DEBUG设置为True时,会导致页面样式丢失,这时就需要用到这个命令了。
我还写了一篇如何配置collectstatic,可以看我的这篇文章。
欢迎大家访问我的网站:BigYoung小站