ワークフローの概要を説明します。この効率を改善する方法についていくつか提案をお願いします。今のところ、少し面倒で繰り返しが多いようです (私は嫌いなものです)。そのため、いくつかの改善を探しています。私はまだdjangoとその仕組みに慣れていませんが、私はかなり流暢なコーダーです(私見)。だからここに行きます...
ツール(私はこれらを毎日使用しているので、シフトする傾向はありません):
- Mac OS X ヒョウ
- テキストメイト
- タブ付きターミナル
- パーフォース
仮定
- Django Basics (チュートリアルを行った/書籍を購入した)
- Python Fluent (IDLE サポート付きで 2.6 を実行)
- models.py で作業する最初のアプリケーションを開始する
出発
- 内部に django ツリー全体を含む TextMate プロジェクトを作成します。
TextMate プロジェクト http://img.skitch.com/20090821-g48cpt38pyfwk4u95mf4gk1m7d.jpg
ターミナルの最初のタブでサーバーを起動します
python ./manage.py runserver
ターミナル ウィンドウの 2 番目のタブで、シェルを開始します。
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
- シェル ターミナル ウィンドウでロードします。
> 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")
- それがうまくいかなかった場合、はい/いいえで壊れましたか?
- シェルを止める
- データベースをクリアする
- データベースを再構築する
- コードを修正する
- シェルをリロードする
- モジュールをリロードする
- 祈る...
問題点・ご意見・ご感想
- それは私ですか、それともこれは非常に効率が悪いように見えますか?
- reload(module) を実行できるはずですが、これを行う方法がわかりません..誰か?
- TextMate 内からこれをテストできるように思われますか?? 誰??
- シェルから出るだけでも、残したいことを確認する必要があります..
これのポイントは、そこにいるすべての天才が、より生産的な仕事の方法に光を当てることです. 私は合理的な提案に対して完全にオープンです。ツールを変更するつもりはありませんが、批判は受け付けます。