Django的django-admin工具详解
来源:互联网 发布:软件系统调研报告 编辑:程序博客网 时间:2024/05/22 17:38
django-admin是Django的一个命令行管理工具,用以对Django项目执行某些命令操作。
1. django-admin安装
安装Django后,默认即安装了django-admin。
- Linux系统
默认安装在$PATH_HOME/dist-packages/django/bin/django-admin.py
- Windows系统
默认还在$PATH_HOME/Scripts/中安装了django-admin.exe和django-admin.py
2. 设置PATH路径加入django-admin所在位置
- Linux系统
export PATH=$PATH;$PATH_HOME/dist-packages/django/bin/
- Windows系统
后续就可以直接在Shell中执行
django-admin <command> [options]
3. django-admin.py代码分析
from django.core import managementif __name__ == "__main__": management.execute_from_command_line()
4. 常见的django-admin命令
- diffsettings
- startproject
- startapp
- runserver
- testserver
- shell
- check
- test
5. django-admin命令的通用选项
- --pythonpath='/python/path'
- --settings=mysite.settings
- --traceback
- --verbosity {0,1,2,3}或-v {0,1,2,3}
- --no-color
6. 如果Django项目启用了django.contrib模块(默认启动),则django-admin还可以执行如下命令
1) django.contrib.auth的命令
- createsuperuser
- changepassword
2) django.contrib.contenttypes的命令
- remove_stale_contenttypes
3) django.contrib.gis的命令
- ogrinspect
4) django.contrib.sessions的命令
- clearsessions
5) django.contrib.sitemaps的命令
- ping_google
6) django.contrib.staticfiles的命令
- collectstatic
- findstatic
7. 在项目代码中,也可以直接调用django-admin的命令
调用语句:
django.core.management.call_command(command_name, *args, **options)
示例:
from django.core import managementfrom django.core.management.commands import loaddatamanagement.call_command('flush', verbosity=0, interactive=False)management.call_command('flush', '--verbosity=0', interactive=False)management.call_command('loaddata', 'test_data', verbosity=0)management.call_command(loaddata.Command(), 'test_data', verbosity=0)
补充:
事实上,在Django项目的代码中,manage.py文件的功能类似于django-admin,此外manage.py还:
- 引入sys.path到Django项目
- 设置DJANGO_SETTINGS_MODULE环境变量指向Django项目中的settings.py
manage.py源代码如下:
#!/usr/bin/env pythonimport osimport sysif __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mydjangolists.settings") try: from django.core.management import execute_from_command_line except ImportError: # The above import may fail for some other reason. Ensure that the # issue is really that Django is missing to avoid masking other # exceptions on Python 2. try: import django except ImportError: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" ) raise execute_from_command_line(sys.argv)
如果没有对Django进行任何设置,在执行django-admin命令时往往有警告,如下图所示:
而执行python3 manage.py则会自动应用所在项目的主模块中的settings.py,如下图所示:
因此建议使用python3 manage.py ...替代django-admin ...
事实上,如下命令是等价的:
django-admin <command> [options]
python3 manage.py <command> [options]
python3 -m django <command> [options]
参考链接:
https://docs.djangoproject.com/en/1.11/ref/django-admin/
- Django的django-admin工具详解
- Django admin 的整理
- Django的admin配置
- [django]定义django admin的list_display
- Django Admin
- django admin
- django admin
- Django Admin
- Django - Admin
- Django-admin
- Django Admin
- Django Admin
- Django admin
- Django-admin
- django 自定义 admin的list_filter
- django 更改admin的密码
- django admin 的中文显示
- 自定义Django的admin界面
- malloc-free 和 new-delete的区别
- 职场小白
- 物联网应用案例:镇海智慧水务
- 颜色反卷积算法分析(Colour Deconvolution )
- 在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads
- Django的django-admin工具详解
- 微信用户授权流程+代码
- spring+mvc get请求,post请求编码问题(utf-8)
- plsql登录进去的时候,有个弹窗,但是我勾选了,下次不再显示,但是我又想让他弹出了,怎么恢复?
- 程序员高逼格指南
- 解决64位系统IIS网站发布出现未能加载文件或程序集“...”或它的某一个依赖项。试图加载
- 858D Polycarp's phone book 字典树
- uva 10972 添加几条变使得无向图为双联通分量
- eclipse 编写mapreduce程序(wordCount)