当我键入';python manage.py shell',我正在买这些东西。请解释一下这是什么?

当我键入';python manage.py shell',我正在买这些东西。请解释一下这是什么?,python,django,Python,Django,根据manage.py,shell打开一个Python解释器,以交互方式处理代码。如果您有一个增强的解释器,比如IPython或bpython,那么默认情况下它会倾向于使用它。您发布的只是标准的IPython提示符,它比您运行python时得到的默认交互式提示符更强大。例如,您可以在IPython提示符下运行普通shell命令,例如ls和cd 当你跑步时 E:\myenv\mydjango1\mysite>python manage.py shell Python 3.6.4 (v3.6.

根据
manage.py,shell
打开一个Python解释器,以交互方式处理代码。如果您有一个增强的解释器,比如IPython或bpython,那么默认情况下它会倾向于使用它。您发布的只是标准的IPython提示符,它比您运行python时得到的默认交互式提示符更强大。例如,您可以在IPython提示符下运行普通shell命令,例如
ls
cd

当你跑步时

E:\myenv\mydjango1\mysite>python manage.py shell
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.


In [2]: 

In [4]:
你有一个python解释器。试试看。输入:

python manage.py shell
然后按回车键。一切都像在普通的python解释器中一样工作。除此之外,这样做还有一个好处,那就是Django应用程序将被启动,因此您可以直接与它交互。例如,假设您有一个名为“application”的应用程序和一个名为“Blog”的模型,那么您可以键入如下内容:

print("hello world")

因此,通常在需要与Django项目交互时使用shell,并且需要运行所有Django初始化内容(尝试从普通python脚本与Django db api交互……不起作用)。

您使用的是iPython解释器。你到底在期待什么?你知道贝壳是什么吗?对于所有投反对票的人来说,我认为这是一个诚实的问题,尽管标题的措辞可能会更好。如果您以前从未见过IPython,那么如何处理它将不会立即变得显而易见。@Iguanaaut“不立即显而易见”并不能转化为立即编写一个SO问题。贝壳甚至说它是ipython@Iguananaut这并不意味着这个思维过程应该得到支持。你是在衡量错误的程度,而不是应该鼓励的内容类型。人们应该至少对他们的问题进行最低限度的研究。我想验证我从shell的postgresql连接,那么我该怎么做呢?实际上我想进入Python shell,然后我必须使用哪个命令来代替“Python manage.py shell”。而不仅仅是
Python
ipython
?我不知道你在问什么。
from application.models import Blog
for blog in Blog.objects.all():
    print(blog)