Nếu đó là dữ liệu nhạy cảm, bạn không nên lưu trữ nó trong mã nguồn vì nó sẽ được kiểm tra trong kiểm soát nguồn. Những người sai (bên trong hoặc bên ngoài tổ chức của bạn) có thể tìm thấy nó ở đó. Ngoài ra, môi trường phát triển của bạn có thể sử dụng các giá trị cấu hình khác với môi trường sản xuất của bạn. Nếu các giá trị này được lưu trữ trong mã, bạn sẽ phải chạy các mã khác nhau trong quá trình phát triển và sản xuất, điều này rất lộn xộn và không tốt.
Trong các dự án của mình, tôi đặt dữ liệu cấu hình vào kho dữ liệu bằng cách 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 để nhận được giá trị:
API_KEY = Settings.get('API_KEY')
Nếu có 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 Bảng điều khiển dành cho nhà phát triển và cập nhật bản ghi giữ chỗ.
Tôi thấy điều này không cần phải phỏng đoán khi thiết lập 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 nào cần đặt, chỉ cần chạy mã và nó sẽ cho bạn biết!
Đoạn mã trên sử dụng thư viện ndb sử dụng memcache và kho dữ liệu bên dưới, vì vậy nó rất nhanh.
Cập nhật:
jelder đã hỏi cách tìm các giá trị Kho dữ liệu trong bảng điều khiển App Engine và đặt chúng. Đây là cách:
Tới https://console.cloud.google.com/datastore/
Chọn dự án của bạn ở đầu trang nếu nó chưa được chọn.
Trong hộp thả xuống Loại , chọn Cài đặt .
Nếu bạn chạy mã trên, các khóa của bạn sẽ hiển thị. Tất cả chúng sẽ có giá trị KHÔNG ĐƯỢC ĐẶT . Nhấp vào từng cái và đặt giá trị của nó.
Hi vọng điêu nay co ich!