0

数時間後、私はまだこの場合のやり方/考え方を理解していません.最初はそれが最も簡単な作業だと思っていました..

毎日 1 つずつ、7 つのテキスト ボックスを持つ HTML テンプレートを取得しました。テキストボックスの名前はその日の名前です。それらにテキストを書き込んで、送信を押します。

Django はそれを取得し、すべてをデータベースに入れます。すべて順調。

テンプレートを再度ロードすると、テキストボックスにデータベースからのデータが入力されます。しかし、方法がわからないので、助けが必要です!

最初に行ったのは、クエリを作成して render_to_response を実行することでしたが、クエリ内のすべてをすべてのテキスト ボックスにレンダリングするため、すべてのフィールドを 7 回レンダリングする必要がありました。

HTML テンプレートにテキスト ボックスが 1 つしかない場合、render_to_response は正常に機能します。しかし、テンプレートのデータを変更して送信を押すと、すべてのテキストボックスが同じ名前になり、そのため、django は 7 日すべてを区切ることができません。

{% for activity in activity_data %}     
        Activity  <input type="text" class="textbox" value="{{activity.excercise}}" name="monday" size="12" id="inputField1">  <p>&nbsp;</p>
{% endfor %} 

これがどれほど明確かはわかりません。お知らせいただけない場合は、さらに説明してみます。どんな提案でも大歓迎です!

4

2 に答える 2

0

{%cycle%}これは醜いですが、タグを使用して曜日名を繰り返すことでこれを行うことができます。

{% for activity in activity_data %}     

 {% cycle 'monday' 'tuesday' 'wednesday' 'thursday' 'friday' 'saturday' 'sunday' as day  silent %}
  Activity  <input type="text" class="textbox" value="{{activity.excercise}}" 
                name="{{day}}" size="12" id="inputField1">  <p>&nbsp;</p>
{% endfor %}

より良い方法は、 for ループを操作する必要がないように、 for の値nameが object から取得され、何かを実行できることです。activityname="{{activity.day}}"

于 2013-02-05T09:42:10.723 に答える
0

ありがとう!本当の日の名前ではなく、db からの名前に ID を入力することをお勧めしたため、解決しました。よく働く。

于 2013-02-08T22:35:32.170 に答える