[英]Can I call an function from another function in Django views.py?
[英]How can I repeatedly call a function from a views.py in Django?
如何在Django中從views.py重復調用函數?
urls.py
urlpatterns = [
url(r'^$', views.index),
url(r'^report/(?P<extension>\d+)/$', views.report),
]
views.py
def report(request, extension):
"""
I will do some logic here. I need the extension variable for
database purposes.
EX:
my_array = Report.objects.fetching_reports(extension='3')
"""
return render(request, 'report.html’)
如果您在擴展名中注意到,我傳入了3。這個想法是每個擴展名都有自己的數據。 但是,我希望它們在相同的html模板上呈現。 我將從擴展1開始渲染,直到12再回到1。假設擴展4丟失了,它將被重定向到擴展5。這些擴展將來自我的數據庫。
Example:
…/report/1/
…/report/2/
…/report/3/ ## will skip 4 if not available
…/report/5/
…/report/6/ ## and so on..
每個擴展將呈現相同的HMTL模板。 現在,如果直接在瀏覽器中鍵入URL模式,則可以成功呈現這些報告。 有沒有辦法連續調用report(),比如說每15秒調用一次? 還是我應該采用其他方法?
非常感謝您的閱讀。
def report(request, extension):
try:
my_array = Report.objects.fetching_reports(extension=extension)
except Report.DoesNotExist:
my_array = None
extension +=1
if my_array = None:
return HttpResponseRedirect(reverse('your_project_name':'your_app_name', kwargs = {'extension':extension}))
else:
return render(request, 'report.html', {'extension':extension})
如果不存在4,它將跳至下一個對象。如果您想在15秒后跳過,則可以執行JavaScript重定向到下一頁並使用擴展名var
對於每個報告,將next
URL傳遞到模板,然后使用javascript重新加載。
<script>
function nextReport() { window.location.href = "{{ next }}"; }
setTimeout(nextReport, 15000);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.