在Docker(Cloudron)中刷新Django应用程序的值

所以我有一些Python的知识,但是与Django和Docker是一个完整的初学者。

我的问题是:我打包了一个非常基本的Django应用程序到一个Docker应用程序(实际上是一个Cloudron应用程序,Cloudron是一个基于Docker的解决scheme)。 该应用程序现在正在我的服务器上运行( eth.ncollig.net )。 目的是给我以太的价格。

但view.py脚本运行在服务器上的应用程序启动时,variables的值,以欧元为单位的ether的价格已被设置为251.7,并且从不刷新。

我希望在每次新的页面加载时重新计算这个variables的值。 我该怎么做才能做到这一点?

在此先感谢您的帮助。

这是我的views.py:

from django.http import HttpResponse from coinbase.wallet.client import Client client = Client('yhKYHa8AkQaHXDMc','quspNs86vAvsRtyuGmE3nC5o9Nki2pqP') rates = client.get_exchange_rates(currency='ETH') eth_rate = rates['rates']['EUR'] def index(request): return HttpResponse("1 ETH = %s EUR" % eth_rate) 

这是我的start.sh,用来启动gunicorn服务器:

 #!/bin/bash # Start Gunicorn processes echo Starting Gunicorn. exec gunicorn ethprice.wsgi:application \ --bind 0.0.0.0:8000 \ --workers 3 

Dockerfile:

 FROM cloudron/base:0.11.0 MAINTAINER Authors name <support@cloudron.io> RUN mkdir -p /app/code WORKDIR /app/code COPY ethprice /app/code/ COPY start.sh /app/code/start.sh COPY requirements.txt /app/code/requirements.txt EXPOSE 8000 RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD ["/app/code/start.sh"] 

这里是wsgi.py:

 import os from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ethprice.settings") application = get_wsgi_application() 

和urls.py:

 from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'', 'ethprice.views.index'), ]