Django的shell工具
Django的manager提供了shell工具,可以让我们在命令行中测试python代码,这样就极大的方便了调试Django代码。
shell工具
进入shell工具的命令:
python3 manage.py shell
进入交互式命令行下,我们可以很方便的测试代码,例如:
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中配置好数据库之后,还可以使用下面的命令快速进入数据库。
python3 manage.py dbshell
这样就可以连接到数据库了。例如我此处连接的是MySQL数据库。
(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代码。