0

この基本的な問題の解決策を探しています。jqueryプラグイン(datepicker)を使用して、ユーザーが日付を選択できるようにしています。これをdjango形式でどのように使用する必要がありますか?

フォームセットは適切な解決策ではないようですが、自分のウィジェットを作成して呼び出すこともできません。新しいオプションを試し続けるのではなく、私はいくつかの方向性を探しています。これが簡単なテストシナリオです。

models.py

    class DateTest(models.Model):
        date_nm = models.CharField(max_length=120)
        fromdate = models.DateTimeField()

forms.py

def datetest_save_page(request):
    if request.method == 'POST': 
        form = DateTestSaveForm(request.POST)
        if form.is_valid():
            date_nm, dummy = DateTest.objects.get_or_create(
                date_nm=form.cleaned_data['date_nm']
            )
            fromdate = form.cleaned_data['fromdate']
            return HttpResponseRedirect('datetest_page.html') 
    else:
        form = DateTestSaveForm()
    return render_to_response('datetest_save.html', {
        'form': form,
    })

forms.py

class DateTestSaveForm(forms.Form):
    date_nm = forms.CharField(
        label=u'Date Name',
        max_length=30
    )
    fromdate = forms.DateTimeField()

base.htmlにdatepickerを設定し、datetest_save.htmlで呼び出しています。呼び出して、見つけた日付を選択できますが、選択した日付を取得してデータベースに貼り付ける方法がわかりません。

ご協力いただきありがとうございます。

4

2 に答える 2

0

実際には「datepicker」という名前のjQueryプラグインがかなりあるので、ここでどちらを使用しているのかを知るのは困難です。ただし、カスタムフォームフィールドを作成したくない場合は、使用する日付形式をカスタマイズするための何らかの方法を提供するライブラリを見つける必要があります。具体的には、フィールド値は「YYYY-MM-DD」の形式である必要があります。

日付をその形式にすることができない、またはしたくない場合は、選択した日付形式をDjangoで使用できるものに自動的に解析するカスタムフォームフィールドを作成する必要があります。

于 2012-07-09T21:36:33.870 に答える
0

jQueryUIの日付ピッカーを参照しているようです。日付ピッカーの形式を設定できます。

また、日付/時刻を入力するためのカスタムフィールドを作成する必要はありません。そして、あなたは?を使用することを意味しますDateTimeFieldか?日付だけが必要な場合はDateField、フォームとモデルで使用できます。

の入力形式を設定するには、次のようにDateFieldします。

fromdate = forms.DateField(input_formats=['%Y-%m-%d'])

詳細については、こちらをご覧ください。

フィールドがフォーマットされるフォーマットを提供したい場合は、次のことができます。

fromdate = forms.DateField(input_formats=['%Y-%m-%d'],
                           widget=forms.DateInput(format='%Y-%m-%d'))

フォーマットの詳細については、こちらをご覧ください。

ノート:

YYYY-MM-DD新しいHTML5日付フィールドではこの形式しか使用できないため、形式を使用することをお勧めします。

ModelFormsまた、フォームに使用することもできます。

于 2012-07-16T23:24:17.940 に答える