2

以下は、「editpost.html」を介してフォームをレンダリングする私の「ビュー」です。タイムスタンプ(日時フィールド)を更新してシステム時刻で編集したいのですが、ユーザーに表示したくありません。モデルフォーム定義のメタクラスで「hidden」キーワードを使用してみましたが、時刻が正しく更新されません。テンプレートで試してみましたが、うまくいきません。何か案は?

def editpost(request, postid):    
    blog = BlogPost.objects.get(pk=postid)
    if request.method == 'POST':
        form = BlogPostForm(request.POST, instance=blog)
        blog = form.save()
        return HttpResponseRedirect('/blog/%s' % str(postid))
    else:
        form = BlogPostForm(initial={'timestamp': datetime.now()}, instance=blog)
        form.save(commit=False)
    return render_to_response("editpost.html", {'form': form, 'postid': postid}, RequestContext(request))

editpost.html

{% block content %}
<form action="." method="post">{% csrf_token %}
    {% for field in form %}
        {% if field.label_tag != "Timestamp" %}
            <div class="fieldWrapper">
                {{ field.errors }}
                {{ field.label_tag }} {{ field }}
            </div>
        {% endif %}
    {% endfor %}
<input type="submit" value="Save" />
</form>
{% endblock %}
4

1 に答える 1