Django - Mac OSX 工作流程 - 有关高效开发方法的问题

标签 django macos workflow textmate

我将概述我的工作流程,并希望获得一些关于如何提高其效率的建议。现在看起来有点麻烦和重复(我讨厌这一点),所以我正在寻找一些改进。请记住,我对 django 及其工作原理仍然很陌生,但我是一个非常流利的编码器(恕我直言)。所以这里...

工具(我每天都使用这些工具,所以我不倾向于更换):

  • Mac OSX Leopard
  • 文本伴侣
  • 带有选项卡的终端
  • 必然

假设

  • Django 基础知识(有教程/购买了书籍)
  • Python Fluent(运行 2.6,支持 IDLE)
  • 启动我的第一个应用程序来处理 models.py

开始

  • 创建一个 TextMate 项目,其中包含整个 django 树。

TextMate Project http://img.skitch.com/20090821-g48cpt38pyfwk4u95mf4gk1m7d.jpg

  • 在终端的第一个选项卡中启动服务器

    python ./manage.py runserver

  • 在终端窗口的第二个选项卡中启动 shell

    python ./manage.py shell

  • 这会生成 iPython,让我开始开发工作流程

工作流程

  • 创建并构建一个名为 models.py 的基本模型

  • 构建基本模型

<小时/>
class P4Change(models.Model):
  """This simply expands out 'p4 describe' """
  change        = models.IntegerField(primary_key=True)
  client        = models.ForeignKey(P4Client)
  user          = models.ForeignKey(P4User)
  files         = models.ManyToManyField(P4Document)
  desc          = models.TextField()
  status        = models.CharField(max_length=128)
  time          = models.DateField(auto_now_add=True)


  def __unicode__(self):
    return str(self.change)

admin.site.register(P4Change)
  • 在第一个终端(正在运行的服务器)中停止它^C并syncdb启动服务器
<小时/>
>  python ./manage.py syncdb
Creating table perforce_p4change
Installing index for perforce.P4Change model
  • 在 shell 终端窗口中加载它..
<小时/>
> python ./manage.py shell
Python 2.6.2 (r262:71600, Apr 23 2009, 14:22:01) 
Type "copyright", "credits" or "license" for more information.

IPython 0.10 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: from perforce.models import *

In [2]: c = P4Client.objects.get_or_create("nellie")
  • 它是否破坏了是/否,如果它不起作用,则执行以下操作:
    • 停止 shell
    • 清除数据库
    • 重建数据库
    • 修复代码
    • 重新加载 shell
    • 重新加载模块
    • 祈祷...

问题/评论/想法

  • 是我的问题还是这看起来效率很低?
  • 看起来我应该能够重新加载(模块),但我不知道如何做到这一点......有人吗?
  • 看起来我应该能够在 TextMate 中测试这个?有人吗??
  • 即使只是离开外壳,我也必须确认我想离开..

这样做的目的是让你们所有的天才向我展示一种更高效的工作方式。我完全愿意接受合理的建议。我不倾向于更换工具,但我愿意接受批评。

最佳答案

首先,在模型就位之前无需执行./manage.py runserver

第二,清除数据库/重建数据库应该在修复代码后完成,可以通过 ./manage.py reset perforce 一次性完成

第三,每次在 shell 中输入的内容(导入模型、尝试创建对象)应该写在测试套件中。然后你可以执行 ./manage.py test perforce 而不是启动 shell 并再次输入。实际上,如果您使用测试套件,则不需要,因为它每次都会创建一个干净的虚拟数据库,并在完成后为您分解它。

第四,尝试“观察测试是否通过”,而不是“祈祷...”。

关于Django - Mac OSX 工作流程 - 有关高效开发方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313737/

相关文章:

android - 使用 recreate() 时包括 Intent extra

python - Django {% blocktrans %} : How to handle pluralization inside a for loop?

django - 在 App Engine 上使用 Django 处理 HTTP HEAD 请求的最佳实践

Windows Workflow Foundation 4 (WF4) 延迟

git - 文档翻译存储库的工作流程

c - Mac OS X 上标准库的源代码

python - 如何在后台运行 Daphne Server (Django Channels) & worker?

python - Django - <class> 没有外键

java - 如何让java程序在Mac OS X上读取CCID卡?

objective-c - 如何在Mac上与其他用户共享iPhone应用程序?