Trong các dự án của tôi, tôi đưa dữ liệu config vào kho dữ liệu (một bản ghi cho mỗi giá trị config) sử dụng lớp này:
from google.appengine.ext import ndb
class Settings(ndb.Model):
name = ndb.StringProperty()
value = ndb.StringProperty()
@staticmethod
def get(name):
NOT_SET_VALUE = "NOT SET"
retval = Settings.query(Settings.name == name).get()
if not retval:
retval = Settings()
retval.name = name
retval.value = NOT_SET_VALUE
retval.put()
if retval.value == NOT_SET_VALUE:
raise Exception(('Setting %s not found in the database. A placeholder ' +
'record has been created. Go to the Developers Console for your app ' +
'in App Engine, look up the Settings record with name=%s and enter ' +
'its value in that record\'s value field.') % (name, name))
return retval.value
Ứng dụng của bạn sẽ làm điều này để có được một giá trị:
API_KEY = Settings.get('API_KEY')
Nếu có một giá trị cho khóa đó trong kho dữ liệu, bạn sẽ nhận được nó. Nếu không có, một bản ghi giữ chỗ sẽ được tạo và một ngoại lệ sẽ được ném ra. Ngoại lệ sẽ nhắc bạn chuyển đến Developers Console và cập nhật bản ghi giữ chỗ.
Tôi thấy điều này có thể đoán được việc đặt các giá trị cấu hình. Nếu bạn không chắc chắn về những giá trị cấu hình cần thiết, chỉ cần chạy mã và nó sẽ cho bạn biết!
Nguồn
2016-02-08 00:51:18
Cài đặt có thay đổi giữa các lần triển khai phiên bản của ứng dụng không? –
vâng, và có thể được cập nhật trong quá trình triển khai quá – hoju