Tôi vừa xem qua các ghi chú phát hành alpha cho Django 1.9 và thấy rằng startapplệnh quản lý hiện thêm tệp ứng dụng .
Mục đích của tập tin này là gì? Các tài liệu startApp đã không cung cấp thêm thông tin.
Tôi vừa xem qua các ghi chú phát hành alpha cho Django 1.9 và thấy rằng startapplệnh quản lý hiện thêm tệp ứng dụng .
Mục đích của tập tin này là gì? Các tài liệu startApp đã không cung cấp thêm thông tin.
Câu trả lời:
Mục đích của apps.pytập tin:
Tập tin này được tạo để giúp người dùng bao gồm bất kỳ cấu hình ứng dụng nào cho ứng dụng. Sử dụng điều này, bạn có thể cấu hình một số thuộc tính của ứng dụng.
Từ Application Configurationtài liệu:
Các đối tượng cấu hình ứng dụng lưu trữ siêu dữ liệu cho một ứng dụng. Một số thuộc tính có thể được cấu hình trong các lớp con AppConfig. Những người khác được thiết lập bởi Django và chỉ đọc.
Ví dụ từ các tài liệu:
Giả sử bạn đang tạo một ứng dụng có thể cắm được gọi "Rock ’n’ roll", sau đó để cung cấp tên thích hợp cho quản trị viên, chúng tôi có thể thực hiện như sau:
Trong rock_n_rollứng dụng, chúng tôi tạo một RockNRollConfiglớp AppConfig.
#rock_n_roll/apps.py
from django.apps import AppConfig
class RockNRollConfig(AppConfig): # Our app config class
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll"
Chúng tôi có thể làm cho ứng dụng của bạn tải AppConfiglớp con này theo mặc định bằng cách chỉ định tệp default_app_configtrong rock_n_roll/__init__.pytệp.
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
Làm điều này sẽ gây ra RockNRollConfigđược sử dụng khi INSTALLED_APPSchỉ chứa 'rock_n_roll'. Điều này cho phép chúng tôi sử dụng các AppConfigtính năng mà không yêu cầu người dùng cập nhật INSTALLED_APPScài đặt của họ .
without requiring our users to update their INSTALLED_APPS setting.: Điều này có nghĩa là gì: Về cơ bản nếu tôi không làm default_app_config = 'rock_n_roll.apps.RockNRollConfig'thì tôi phải đề cập đến trong INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
Đây là nơi được đề xuất để đặt cấu hình ứng dụng của bạn . Tính năng này đã có ở đây từ 1.7, nhưng để thúc đẩy việc sử dụng nó và cho phép cấu hình dễ dàng hơn, apps.pytệp đã được thêm vào mẫu ứng dụng mặc định.