2

これが私のモデルがどのように見えるかです:

http://i.imgur.com/fFBqq.png

ディスクでいっぱいのテーブルに記入しようとしています。各ディスクにはシリアル番号とモデル番号があります。{「何か」のディスクに対して%}のようなことをすると仮定しますが、それがどうなるかはよくわかりません。

これが私が望んでいたことです:

<table>
  <thead>
    <tr>
    <th>Serial Number</th>
    <th>Model Number</th>
    </tr>
  </thead>
<tbody>

{% for disks in "something" %}
    <tr>
    <td>{{ disk.serial }}</td>  
    <td>{{ disk.model }}</td>
    </tr>
{% endfor %}
4

2 に答える 2

4

テンプレートは問題の一部にすぎません。実際には、アクセスするためのコンテキスト(辞書)を渡すだけなので、それほど複雑ではありません。テンプレートの前のステップは、データを整理しているビューです。それから始めましょう...

意見

データを収集する関数(ビュー)は、おそらくデータベースモデルクエリの結果である、「ディスク」オブジェクトを含むコンテキストを構築する必要があります。簡単にするために、これを行ったとしましょう。

disks = Disk.objects.all()

ディスククエリセットを使用して、コンテキスト内のテンプレートにそれを配信できるようになりました。

context = {"disks": disks}
return render_to_response('my_template.html', context)

これで、コンテキストがテンプレートに渡されます。

レンプレート

コンテキスト内のオブジェクトを参照するだけです。

{% for disk in disks %}
    <tr>
    <td>{{ disk.serial }}</td>  
    <td>{{ disk.model }}</td>
    </tr>
{% endfor %}
于 2012-04-29T15:29:54.070 に答える
1

@jdiは正しいですが、これはWeb開発で非常に一般的に行われていることなので、一般的な見方があります。

あなたのurls.py

from django.conf.urls import patterns, url, include
from django.views.generic import ListView
from myapp.models import Disk

urlpatterns = patterns('',
    (r'^disk_list/$', ListView.as_view(
        model=Disk,
        template_name='disk_list.html'
    )),
)

disk_list.htmlにリストされている任意のディレクトリである、というファイルを作成し、そのTEMPLATE_DIRS中に次を追加します。

<table>
  <thead>
    <tr>
    <th>Serial Number</th>
    <th>Model Number</th>
    </tr>
  </thead>
<tbody>

{% for disk in object_list %}
    <tr>
    <td>{{ disk.serial }}</td>  
    <td>{{ disk.model }}</td>
    </tr>
{% endfor %}

最後に、に移動しますhttp://localhost:8000/disk_list/

于 2012-04-29T17:27:13.600 に答える