4

簡単なフォームを書くのに問題があります。これはそのフォームの私のモデルです。

class UserStock(models.Model):
    amount = models.FloatField(default=0)
    date = models.DateTimeField('buy date')
    stockPrice = models.FloatField(default=0)
    user = models.ForeignKey(User)
    stock = models.ForeignKey(Stock)

これは私のforms.pyファイルです

from django import forms
from datetime import date

class AddStockForm(forms.Form):
    stock = forms.CharField(max_length=10)
    amount = forms.FloatField(initial=0)
    #, initial=date.today, input_formats=settings.DATE_INPUT_FORMATS
    date = forms.DateField('buy date', initial=date.today)
    stockPrice = forms.FloatField(initial=0)

これは、フォーム データを送信するための私の最初のバージョンです。

@login_required(login_url='/login/')
def new_stock(request):
    if request.method == 'POST':
        form = AddStockForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data

            #dateForm = datetime.datetime.strptime(cd['date'],"%Y-%m-%d")
            userStock = UserStock(amount = cd['amount'], date=cd['date'], stockPrice = cd['StockPrice'])
            userStock.user = request.user
            stockForm = Stock.objects.filter(symbol=cd['stock'])
            userStock.stock = stockForm
            userStock.save()
    else:
        form = AddStockForm()

    template = loader.get_template("userStocks/new.html")
    context = RequestContext(request, {
        'form':form.as_p(),
    })
    return HttpResponse(template.render(context))

これは私のエラーがどのように見えるかです。 ここに画像の説明を入力 送信中のエラー: 有効な日付を入力してください。Djangoの自動チェック形式だと思います。私はたくさんグーグルしましたが、助けにはなりませんでした。input_formats のバリエーションを試しましたが、うまくいきません。助けてくれてありがとう。

4

1 に答える 1