我希望我的代碼的某些部分在本地運行時不能運行。檢測Flask應用程序是否在本地運行
這是因爲我在本地安裝某些依賴項時遇到問題,無法運行代碼。
具體來說,memcache在本地不起作用。
@app.route('/some_url_route/')
@cache.cached(timeout=2000) #ignore this locally
def show_a_page():
如何將應用程序以某種方式忽略了代碼的高速緩存部以上,在本地運行?
我希望我的代碼的某些部分在本地運行時不能運行。檢測Flask應用程序是否在本地運行
這是因爲我在本地安裝某些依賴項時遇到問題,無法運行代碼。
具體來說,memcache在本地不起作用。
@app.route('/some_url_route/')
@cache.cached(timeout=2000) #ignore this locally
def show_a_page():
如何將應用程序以某種方式忽略了代碼的高速緩存部以上,在本地運行?
在我的代碼遵循Django的彼岸模式,有一個主settings.py
文件我把我所有的設置英寸
在該文件中把DEBUG = True
爲您的本地環境(和False
用於生產),然後我用:
from settings import DEBUG
if DEBUG:
# Do this as it's development
else:
# Do this as it's production
在
cache
裝飾
因此包括類似的線,只有檢查的memcached如果DEBUG=False
然後,您可以如果您使用的燒瓶緩存所有這些設置加載到您的水壺設置爲在configuration documentation.
詳細說明,然後只需編輯設置:
if app.debug:
app.settings.CACHE_TYPE = 'null' # the cache that doesn't cache
cache = Cache(app)
...
一個更好的辦法是對生產單獨的設置和發展。我使用的是基於類的方法:
class BaseSettings(object):
...
class DevelopmentSettings(BaseSettings):
DEBUG = True
CACHE_TYPE = 'null'
...
class ProductionSettings(BaseSettings):
CACHE_TYPE = 'memcached'
...
,然後導入合適的對象,當你設置你的應用程序(config.py
是包含文件的文件名設置):
app.config.from_object('config.DevelopmentConfig')
只是禁用運行緩存服務器。 – karthikr