django学习笔记(2)

mac2022-06-30  71

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上百实例源码以及开源项目
最新回复(0)