7
from django.conf import settings
def my_view(self, request, *args, **kwargs):
if 'LOCAL' in settings and settings.LOCAL:
# do something
TypeError at ... argument of type 'LazySettings' is not iterableđối số django của loại 'LazySettings' không thể lặp lại; làm cách nào để kiểm tra xem cài đặt có tồn tại không?
Làm cách nào để kiểm tra xem cài đặt có tồn tại không? Nếu không, tôi sẽ gặp lỗi thuộc tính.
Um tôi đã nhận vui mừng về câu trả lời của bạn. nhưng nó vẫn thất bại. >>> nếu getattr (cài đặt, 'rác'): ... print 'hello' ... Traceback (gần đây nhất gọi cuối cùng): File "", dòng 1, trong File "/ Users /ben/Envs/menus_proto/lib/python2.7/site-packages/django/utils/functional.py ", dòng 277, trong __getattr__ trả về getattr (self._wrapped, name) AttributeError: đối tượng 'Settings' không có attribute 'JUNK' –
Bạn cần cung cấp giá trị mặc định làm đối số thứ ba, ví dụ 'getattr (settings, 'name', None)'. Hoặc, vì bạn không cần giá trị thực, sử dụng 'hasattr (settings, 'name')' mà chỉ kiểm tra tên tồn tại thay vì nhận giá trị của nó. –
Tôi đã cập nhật câu trả lời. –