我是Django的初學者。我想問如何訪問forms.py中的變量以便爲用戶打印出來。我知道models.py爲用戶創建數據庫。我想打印它的變量是一個複選框多選字段。我需要在表格中打印多重選擇的值。 The image is here 這是Form.py:django窗體和模型之間的問題
class BacktestForm(forms.ModelForm):
period_start = forms.DateField(initial=datetime.datetime.today().date() - datetime.timedelta(days=365+16), widget=forms.widgets.DateInput(format="%Y/%m/%d"), input_formats=["%Y/%m/%d"])
period_end = forms.DateField(initial=datetime.datetime.today().date() - datetime.timedelta(days=16), widget=forms.widgets.DateInput(format="%Y/%m/%d"), input_formats=["%Y/%m/%d"])
market = forms.MultipleChoiceField(required=False,widget=CheckboxSelectMultiple, choices=MARKET_CHOICES)
sector = forms.MultipleChoiceField(required=False,widget=CheckboxSelectMultiple, choices= MEDIA_CHOICES)
class Meta:
model = Parameters
Models.py:
類參數(models.Model):
user = models.ForeignKey(User)
title = models.CharField('title', max_length=100, default='', blank=True, help_text='Use an indicative name, related to the chosen parameters')
type = models.CharField('forecast type', choices=FORECAST_TYPES, max_length=20, default="backtest")
#input characteristics
price_1_min = models.FloatField('1. Price, min', default=0.1, validators=[MinValueValidator(0.1), MaxValueValidator(20000)])
price_1_max = models.FloatField('1. Price, max', default=20000, validators=[MinValueValidator(0.1), MaxValueValidator(20000)])
這是我爲按鈕保存view.py:
def backtest(request, pk=None):
if pk is not None:
param = get_object_or_404(Parameters, pk=pk, user=request.user)
form = BacktestForm(request.POST or None, instance=param)
else:
form = BacktestForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
if 'save' in request.POST:
obj = form.save(commit=False)
obj.user = request.user
obj.type = "backtest"
obj.save()
messages.info(request, 'Saved!')
return redirect(obj.get_backtest_url())
如果您正在使用的形式這不應該被標記爲Django的休息。請張貼完整的模型和完整的表格。 – e4c5
我不明白你的問題是什麼,或者圖像與什麼有關 - 甚至不顯示錶單。 –
該圖像是HTML中的一個表格,我需要打印用戶輸入的輸出..它與一切都很好,但市場欄是空的,因爲我在forms.py中定義了它是一種複選框..我不知道我怎麼可以使市場(複選框變量)和models.py – faro