私はHTMLのテーブル形式以下の持っている必要があります。 は、HTMLテーブルにPythonのデータを追加する方法
私の質問ですが、私はこの次の表の書式を実装することができるように、私は正しく私のPythonのデータを整理する方法きれいな、Pythonicの方法。すべての画像が特定のバージョンに属しているため、画像が右側の列にあることが重要です(注文事項)。また、一部のバージョンにすべての(または任意の)イメージがないので、 "image == None"と表示されたら "?"をチェックします。画像の代わりに等がある。したがって、空のスロットもデータに保存する必要があります。
注:私はDjangoでこれを行い、これをレンダリングするためにDjangoテンプレートを使用します。理想的には、私はテンプレートの中で次のようなことをすることができます:
<table>
<thead>
<tr>
{% for version in data.versions %}
<th>{{ version }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for image in data.images %}
<tr>
{% for file in image.files %}
{% if file == None %}
<td>No image</td>
{% else %}
<td>{{ file }}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
アップデート:問題は本当にバックエンドで正しくデータを整理する方法です。私は、手動でデータの入れ替えとそれらのための列の作成を行うバージョン(バージョン1、バージョン2など)のリストを初期化する必要があります。注文は重要なので、私はそれを保つ必要があります。それから、特定のバージョンを持つX個のイメージを持つ特定のオブジェクトを検索します。 (オブジェクトのオブジェクトの)オブジェクトをループし、特定のオブジェクトのイメージ(object.imagesのイメージ)をループする必要があり、特定のバージョンの列に各イメージを追加する必要があります( "key"等== image.version)。特定の列の画像がない場合、値はなど
「なし」べきではない私は、例えばリストのリストでこれを実現することができます。
data = [
['Version1', 'Version2', etc.],
['image',None, etc.],
['image', 'image', etc.],
etc.
]
をしかし、私はよりよいがあるかなり確信していますこれをPythonで実装する方法です。だから、より良い提案は大歓迎です。
アップデート2:Djangoのモデルは、次のようなことができます。このような
class Version(models.Model):
name = models.CharField(max_length=255)
class Image(models.Model):
file = models.ImageField(upload_to='images')
version = models.ForeignKey(Version)
class Object(models.Model):
images = models.ManyToManyField(Image)
リストのリストがあると何が問題になりますか? – elena
@elena何も間違っていますが、私の場合はデータを "data.versions"、 "image.files"などをレイアウトコードで使用できる形式にしたいと思います。私はちょうどそれがより可読性と保守性に優れていると思う。 – m5seppal