Tôi đang sử dụng debug toolbar với django và muốn thêm nó vào dự án nếu hai điều kiện là đúng:Làm thế nào để kiểm tra xem mô-đun python tồn tại và có thể được nhập khẩu
settings.DEBUG
làTrue
- module chính nó tồn tại
Nó không khó để thực hiện đầu tiên một
# adding django debug toolbar
if DEBUG:
MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
INSTALLED_APPS += 'debug_toolbar',
Nhưng làm cách nào để kiểm tra xem mô-đun có tồn tại không?
Tôi đã tìm thấy giải pháp này:
try:
import debug_toolbar
except ImportError:
pass
Nhưng kể từ khi nhập khẩu sẽ xảy ra ở một nơi khác trong django, tôi cần if/else logic để kiểm tra xem mô-đun tồn tại, vì vậy tôi có thể kiểm tra nó trong settings.py
def module_exists(module_name):
# ??????
# adding django debug toolbar
if DEBUG and module_exists('debug_toolbar'):
MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
INSTALLED_APPS += 'debug_toolbar',
Có cách nào để làm điều đó không?
Bạn không thể sử dụng '__import __ (module_name, fromlist = [module_name])' thay vì 'import debug_toolbar'? –
@Dan D .: Sẽ không tương đương với 'từ debug_toolbar import debug_toolbar'? Nhưng ngay cả khi nó hoạt động, lợi thế là gì? –
không, kỳ lạ nó giống như 'import debug_toolbar'; Tôi đã thử nghiệm điều này trên trăn 2.5.2; lợi thế là bạn có thể sử dụng 'module_exists (" some_other_module ")'. –