2012-02-17 25 views
5

Tôi đang sử dụng ứng dụng của bên thứ 3 trong ứng dụng web django của tôi. Nhưng tôi muốn tùy chỉnh giao diện quản trị cho một trong các mô hình trong ứng dụng của bên thứ 3. Tùy chỉnh nhiều hơn thay đổi mẫu change_list.html tức là tôi sẽ cần thêm mã để nói chuyện với một dịch vụ web bên ngoài, v.v.Tôi làm cách nào để sửa đổi mã xem quản trị viên cho ứng dụng của bên thứ 3?

Tuy nhiên, tôi không muốn sửa đổi ứng dụng của bên thứ ba. Thay vào đó tôi muốn ghi đè lên nó. Làm cách nào để ghi đè số ModelAdmin cho mô hình đến từ ứng dụng của bên thứ 3?

Trả lời

17

Điều này sẽ giúp bạn bắt đầu:

from django.contrib import admin 
from thirdpartyapp.models import ThirdPartyModel 
from thirdpartyapp.admin import ThirdPartyAdmin 

class CustomThirdPartyAdmin(ThirdPartyAdmin): 
    pass 


admin.site.unregister(ThirdPartyModel) 
admin.site.register(ThirdPartyModel, CustomThirdPartyAdmin) 

tôi sử dụng này thường để tùy chỉnh UserAdmin as shown in this answer.

+1

Bạn phải hủy đăng ký mô hình chứ không phải quản trị viên của mình. – MechanTOurS

+1

Bạn nói đúng. Tôi vừa sửa nó. –

+1

Mã này nên đi đâu? Trong một thư mục mới bên trong thư mục chính của dự án với tên 'thirdpartyapp'? – kahlo

Các vấn đề liên quan