Part 2: The admin site ====> Creating an admin user$ python manage.py createsuperuser Username: admin Email address: admin@example.com Password: ********** Password (again): ********* Superuser created successfully.====> Start the development server $ python manage.py runserver====> Enter the admin site (http://127.0.0.1:8000/admin/)====> Make the poll app modifiable in the admin$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Questionadmin.site.register(Question)====> Explore the free admin functionality====> Customize the admin form$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Questionclass QuestionAdmin(admin.ModelAdmin): fields = ['pub_date', 'question_text']admin.site.register(Question, QuestionAdmin)====> Split the form up into fieldsets$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Questionclass QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date']}), ]admin.site.register(Question, QuestionAdmin)====> Assign arbitrary HTML classes to each fieldset$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Questionclass QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ]admin.site.register(Question, QuestionAdmin)====> Adding related objects$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Choice, Question# ...admin.site.register(Choice)====> Remove the register() call for the Choice model. Then, change the Question registration code$ edit polls\admin.pyfrom django.contrib import adminfrom .models import Choice, Questionclass ChoiceInline(admin.StackedInline): model = Choice extra = 3class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ] inlines = [ChoiceInline]admin.site.register(Question, QuestionAdmin)====> Change the display style of the related objects in a more compact, table-based format$ edit polls\admin.pyclass ChoiceInline(admin.TabularInline): #...====> Customize the admin change list -- use the list_display admin option$ edit polls\admin.pyclass QuestionAdmin(admin.ModelAdmin): # ... list_display = ('question_text', 'pub_date', 'was_published_recently')====> Add a “Filter” sidebar -- using the list_filter admin option$ edit polls\admin.pyclass QuestionAdmin(admin.ModelAdmin): # ... list_filter = ['pub_date']====> Add some search capability$ edit polls\admin.pyclass QuestionAdmin(admin.ModelAdmin): # ... search_fields = ['question_text']====> Customize the admin look and feel====> Customizing your project’s templates$ mkdir templates$ edit mysite\settings.pyTEMPLATES = [ { # ... 'DIRS': [os.path.join(BASE_DIR, 'templates')], # ... },]$ mkdir templates\admin$ copy C:\python34\lib\site-p~1\django\contrib\admin\templates\amdin\base_site.html templates\admin\base_site.html$ edit tempaltes\admin\base_site.html# replace {{ site_header|default:_('Django administration') }} with Polls Administration# ...{% block branding %}<h1 id="site-name"><a href="{% url 'admin:index' %}">Polls Administration</a></h1>{% endblock %}# ...====> Customizing your application’s templates====> Customize the admin index page
转载于:https://www.cnblogs.com/hhh5460/p/4460422.html
相关资源:JAVA上百实例源码以及开源项目