Django-在同一视图上呈现两个页面
我是一个网络开发新手,我正在开发一个Django应用程序。现在我有一个主页和一个按钮,可以重定向到另一个触发视图的页面。此视图包含更新数据库的代码,这需要相当长的时间才能完成。因此,我将主运行分为两个步骤 我的目标是当用户单击主页上的重定向按钮时,将他带到显示数据库中过时数据的页面,在这个新页面中自动更新数据库(持久代码执行),然后用新值刷新页面。 简而言之:主页->过时数据页->更新数据库->使用新值刷新页面 视图.pyDjango-在同一视图上呈现两个页面,django,Django,我是一个网络开发新手,我正在开发一个Django应用程序。现在我有一个主页和一个按钮,可以重定向到另一个触发视图的页面。此视图包含更新数据库的代码,这需要相当长的时间才能完成。因此,我将主运行分为两个步骤 我的目标是当用户单击主页上的重定向按钮时,将他带到显示数据库中过时数据的页面,在这个新页面中自动更新数据库(持久代码执行),然后用新值刷新页面。 简而言之:主页->过时数据页->更新数据库->使用新值刷新页面 视图.py # initialRun() just gathers initial
# initialRun() just gathers initial info before major run
def allgames_view(request, *args, **kwargs):
listUrl, data = betchamp.initialRun(0, False)
return render(request, "games/allgames.html",{}) #page with outdated data from database (in progess)
不知道该放在哪里:
# major run (main) and then check if the object is to be updated or created
data = betchamp.main()
for match in data['Games']:
try:
obj = Game.objects.get(game=match['game'], date=match['date'])
print(obj.game)
print(obj.numberTips)
print(match['numberTips'])
if match['numberTips'] > obj.numberTips:
obj.numberTips = match['numberTips']
obj.ProbAway = match['ProbAway']
obj.ProbHome = match['ProbHome']
obj.ProbDraw = match['ProbDraw']
obj.ToWin = match['ToWin']
obj.save()
except ObjectDoesNotExist:
Game.objects.create(**match)
同样,我对web开发还是新手,不知道有哪些API或框架可以帮助实现这一点。如果您能透露一些信息,我们将不胜感激。您需要使用消息队列(如django mq或芹菜)在后台运行长期任务