我在寫一個django應用程序,我希望用戶能夠從下拉菜單中選擇一個[team_number],然後當它們碰到提交時被重定向到一個頁面呈現與該選擇相關聯的數據庫信息。我使用的是重定向類View,但是我遇到的問題是沒有下拉菜單顯示可以從html頁面team-stats.html中選擇[team_number]。django模型下拉菜單在HTML視圖中丟失
views.py:
class TeamStatsView(View):
def get(self, request, *args, **kwargs):
return render(request, 'team-stats.html',
{'team_number': TeamStats()})
def post(self, request, *args, **kwargs):
team_number = TeamStats(request.POST, request.FILES)
if team_number.is_valid():
# do stuff & add to database
team_number.save()
team_number = TeamStats.objects.create()
# use my_file.pk or whatever attribute of FileField your id is
# based on
return HttpResponseRedirect('/team-stats/%i/' % team_number.pk)
return render(request, 'team-stats.html', {'team_number': team_number})
models.py:
class Team(models.Model):
team_number = models.IntegerField()
team_notes = models.CharField(max_length=150)
event_id = models.ForeignKey(
'Event', on_delete=models.CASCADE, unique=False)
def __unicode__(self):
return str(self.team_number)
class Meta:
db_table = 'teams'
app_label = 'frcstats'
forms.py:
class TeamStats(forms.ModelForm):
class Meta:
model = Team
fields = ['team_number']
團隊爲stats.html:
<form method="post" action="">
{% csrf_token %} {{ TeamStatsView }}
<input type="submit" value="Submit" />
</form>
如果有我需要更新到這裏來顯示我想要做的任何其他文件,請讓我知道。謝謝
這樣做至少會在html視圖中創建一個下拉列表,但它不會被任何東西填充,它只是一個空的下拉列表 – alicen
這意味着您的team_numbers視圖變量中沒有任何內容。我相信你可以查詢這些使用查詢設置: 'Team.objects.values('team_number')' 請確保您將團隊模型導入您的視圖 –
我很困惑,該查詢將在哪裏?它應該顯示我在我的數據庫下有team_number的777個條目。團隊模型已被導入,因爲它在單獨的視圖中使用 – alicen