2

私はmodel.py:

class usercommand(models.Model):
user = models.ForeignKey(User, blank=False)
a_field = models.PositiveIntegerField(null=True, blank=True)
timestamp = models.DateTimeField(blank=True, null=True)

user私が使用することに関連して、入力非表示フィールドを使用してDjangoモデルフォームを作成します。forms.py:

class ApplicationForm(forms.ModelForm):
class Meta:
    model = userCommand
    widgets = {
        'user': forms.HiddenInput()
    }

ご覧のとおり、入力を受け取るために使用できるフィールドは3つあります。しかし、私はユーザーフィールドに次のように入力しましたviews.py

def views_method(request, object_id):
if request.method == 'POST':
    form = ApplicationForm(request.POST)
    if form.is_valid():
        form_inst = form.save(commit=False)
        form_inst.user = request.user
        form_inst.save();
        return HttpResponseRedirect(reverse('user_list'))
else:
    form = ApplicationForm()

extra_context = {
    'form':ApplicaitonForm(initial={'user': request.user.pk})
}   
return direct_to_template(request, 'template/remote.html',
                          extra_context=extra_context)

今私は私ので使用しましたremote.html

<form action="" method="POST">
{{ form.as_p }}
<input type="submit" value="{% trans "Add " %}" /> 
</form>

Jqueryで記述された次のピッカーを使用して、テンプレートレベルからタイムスタンプフィールドに入力する必要があるもの:

<input class="time" type="text" name="start" id="start" />
$('input.time').timepicker();

しかし、私は理解することができません、どうすればいいですか?私はを使用しているので{{form.as_p}}timestampfromsフィールドにこのJqueryコードを入力するにはどうすればよいですか。

私が間違っていない場合は、次のコードでこれを行うことができます:

$('#id_timestamp').val($('#time').val())

ここで、はApplicationFormのフィールドid_timestampのIDです。timestampしかし、どのようにコードを書くべきでしょうか。そうすれば、残りのフィールドにレベルで入力することもできApplicationFormますtemplate

4

2 に答える 2

2
<form action="" method="POST">
{{ form.as_p }}
<input type="submit" value="{% trans "Add " %}" /> 
</form>
<script>
$(document).ready(function(){
    $('#id_timestamp').timepicker();
});
</script>
于 2012-08-15T12:57:02.177 に答える
0

タイムスタンプフィールドにSplitDateTimeWidgetを使用できます。$('#id_timestamp_0').timepicker();次に、テンプレートで、またはそのようなものによって入力された時間にアクセスできます

于 2012-08-15T12:56:32.333 に答える