2010-11-25 41 views
0

我还在Django App的开发阶段。在写我的views.py之前,我测试了一下,看看我的模型是否被正确定义。这是我做的终端通过调用测试一下Django代码的小片段

python manage.py shell

但是,唉所以我常常做一些语法错误促使我放弃外壳ctrl-D &重新输入的一切。这个过程是永恒的​​。如果我可以将所有这些文件写入某个文件中,仅仅用于我的试验&,如果所有人都将其复制到views.py,那会更好。

这是什么过程?这与在我的应用程序目录中创建trial.py一样简单。我不需要导入Django env吗?什么是最好的方法来做到这一点?

+3

您是否告诉我,在将代码写入您的应用程序之前,将其中的每一段代码写入python解释器? – Falmarri 2010-11-25 18:24:01

+0

运行python manage.py sql app_name – 2010-11-25 18:24:47

+1

“retype everything”?你有没有听说过使用“文件”来包含你的来源? Django教程展示了一个很好的方法来做到这一点。你为什么不按照Django教程? – 2010-11-25 21:05:54

回答

2

通过一切手段创建简单的实验一trial.py,然后开始做

python manage.py shell 

后,你可以做

>>> import trial 

,然后调用代码在试用中,直接从提示中,例如

trial.myfunc() 

如果你需要改变的事情,你可以保存你的改变trial.py并做

reload(trial) 

当然,你可能需要重新创建,以使在交互式会话的任何现有对象使用您的更改。

这应该被看作是编写单元测试的补充(按照Jani的答案),但是我确实发现这种方法对于使用迭代细化来尝试一些东西很有用。

1

创建文件的检验在Django项目目录和路径添加到您的项目环境变量:

import sys 
sys.path.append(os.path.realpath(os.path.dirname(__file__))) 

之后,你就可以从项目中导入任何模块(例如模型来自models.py或者来自views.py的函数),并使用您最喜欢的IDE及其编辑器和外壳。

1

对于更简单的情况,您可以使用django-extensions加载项,其中包含shell_plus管理命令,该命令与标准shell命令类似,但会预加载所有模型。

0

我还收到了这个问题,

可能是你可以安装IPython中,其中有一个神奇的功能被称为像这样:

%保存。

这会将您输入的内容保存到文件中。

和ipython是一个非常有吸引力的工具,它可以完美地接受标准python提示符。它也有其他美妙的东西!

而且在Django,如果你有安装IPython中,当你输入蟒蛇manage.py壳,

它会直接调用IPython中。