2011-06-29 3 views
0

私はDjangoを使い始めました。素晴らしい建築!さて、文書は素晴らしいですが、絶対初心者の方は、UNIX文書のようなものです。あなたが何をしているのかをすでに知っているときに最も意味を成しています。私は見てきましたが、具体的に見つけることができません。つまり、レンダリングされた画面の項目をクリックしてobject_detailを取得できるように、object_listテンプレートを設定する方法はありますか?list_detail.object_listのリンクをlist_detail.object_detailに置きます

次のように動作しています。私が頼んでいる理由は、私が合理的なルートを取っているかどうかを確認することですか、これを行うにはより多くのジャンゴー的な方法がありますか?

私はユニコードを持っていますが、人間の判読可能な形式で自分のデータベースエントリを識別できるモデルがあります。 object_detailページに移動するには、object_list生成ページのリンクをクリックします。これを行う良い方法は、詳細のURLがhttp://www.example.com/xxx/5/のようなシステムを作成し、データベースの行5の詳細ページを呼び出すことです。だから、私はちょうど次のことを思いつきました、そして、私の質問は正しい軌道にありますか?

ここ
<ul> 
{% for aninpatient in object_list %} 
<li><a href='/inpatient-detail/{{ aninpatient.id }}/'>{{ aninpatient }}</a></li> 
{% endfor %} 
</ul> 

、OBJECT_LISTはlist_detail.object_list汎用ビューから来ている:

は、私は、次を含むリストビュー用のテンプレートページを作りました。 forループはオブジェクトリストobject_listをステップします。各行で、htmlのアンカーを作成して、希望のhref「/ inpatient-detail/nn /」を参照します.nnはデータベーステーブルの各行のidフィールドです。表示されたリンクは、 ユニコード文字列であり、クリック可能なリンクです。私はテンプレートを設定して、これはうまく動作します。

私は正しい方向に向いていますか?テンプレートのリンクを編集したり削除したりすることができるようにこれを拡張するのは簡単です。

モデルを利用して詳細ページを作成する一般的なビューはありますか?私はdjango.formsのModelFormヘルパーを使用してフォームオブジェクトを作成しました。これは入力フォームを作成するのに最適でした(自動検証でうわーでした!)ので、詳細ビューページを作成するためのものがありますか?

スティーブ

答えて

1

あなたはジャンゴ< 1.3を使っているのであれば、次に何をやっていることは基本的には完璧です。これらの一般的なビューは、ページをすばやく作成するのに適しています。あなたがdjango 1.3を使っているなら、クラスに基づくジェネリック・ビューを使いたいでしょう。一度あなたがそれらにハンドルを取得すると、彼らはクレイジー良いです。

URLをハードコードするのではなく、テンプレートに{%url%}タグを使用する必要があります。それが人生を向上させる、新しいURLタグが利用可能である1.3では

<a href="{% url inpatient_detail inpatient_id=aninpatient.id %}">...</a> 

:(ジャンゴ< 1.3用)

url('inpatient-detail/(?P<inpatient_id>\d+)/$', 'your_view', name='inpatient_detail') 

とテンプレートで:あなたのurls.confファイル(複数可)でのような名前のURLを定義しますさらに。

+0

非常に興味深いです。私はハードコーディングが自然なPHPから来ています。私は尋ねる方法がわからなくても、私が何を求めているのか理解してくれたことに非常に感謝しています! – kd4ttc

+0

答えはhttp://stackoverflow.com/q/6564068/820321 で利用可能です。関連する質問へのコメントは私がこれを理解することを可能にした。あなたなしでこれを行うことはできませんでした! – kd4ttc

関連する問題