您可以將該文件放入您的「默認」應用程序(創建項目時創建的應用程序)。然後,您可以從其他應用程序導入模型,並在單個admin.py文件中使用它們。例如,下面的文件可以在默認應用程序和「課程」,「論壇」應用程序中使用。
admin.py
from django.contrib import admin
from models import UserProfile, Sponsor
from courses.models import Course
from forum.models import ForumTopic
admin.site.register(UserProfile)
admin.site.register(Sponsor)
class CourseAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("code", "name",)}
admin.site.register(Course, CourseAdmin)
class ForumTopicAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("title",)}
admin.site.register(ForumTopic, ForumTopicAdmin)
爲什麼你會不會想這樣做的正確方法,即你的第二個選項?有什麼好處? – 2012-07-24 09:33:15
我想保持我的項目樹儘可能乾淨。而且這也意味着幾次編寫相同的「代碼」......至少導入「管理員」。 – middleofdreams 2012-07-24 10:15:48
正常程序是在每個應用程序目錄中都有一個admin.py。如果你認爲這會讓你的項目樹混亂起來......呃,......這樣想吧 - 關鍵是每個應用程序都是一個獨立的單元,可能會被不同的項目使用。因此,每個'admin.py'都需要分開。並認真......從django.contrib導入管理員 - 這實際上不是代碼重複。 – scytale 2012-07-24 11:49:08