Django的shell工具

2021-10-20 17:00:33 浏览数 (1)

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代码。

0 人点赞