Django的shell工具
Django的manager提供了shell工具,可以让我们在命令行中测试python代码,这样就极大的方便了调试Django代码。
shell工具
进入shell工具的命令:
代码语言:javascript复制python3 manage.py shell
进入交互式命令行下,我们可以很方便的测试代码,例如:
代码语言:javascript复制Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from book.models import BookInfo
>>> BookInfo.objects.all()
<QuerySet [<BookInfo: 射雕英雄传>, <BookInfo: 天龙八部>, <BookInfo: 笑傲江湖>, <BookInfo: 雪山飞狐>]>
dbshell工具
上面的shell是为了方便调试Django代码,除此之外,当你在settings.py中配置好数据库之后,还可以使用下面的命令快速进入数据库。
代码语言:javascript复制python3 manage.py dbshell
这样就可以连接到数据库了。例如我此处连接的是MySQL数据库。
代码语言:javascript复制(venv) zy@zy:~/mypython/bookmanager02$ python3 manage.py dbshell
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 38
Server version: 8.0.26-0ubuntu0.20.04.3 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> SHOW DATABASES;
--------------------
| Database |
--------------------
| bookmanager |
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------
5 rows in set (0.00 sec)
以上这两个工具可以帮助更好的调试Django代码。