zoukankan      html  css  js  c++  java
  • django学习笔记(2)

    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 pollsadmin.py

    from django.contrib import admin

    from .models import Question

    admin.site.register(Question)



    ====> Explore the free admin functionality



    ====> Customize the admin form
    $ edit pollsadmin.py

    from django.contrib import admin

    from .models import Question


    class QuestionAdmin(admin.ModelAdmin):
        fields = ['pub_date', 'question_text']

    admin.site.register(Question, QuestionAdmin)





    ====> Split the form up into fieldsets
    $ edit pollsadmin.py

    from django.contrib import admin

    from .models import Question


    class 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 pollsadmin.py

    from django.contrib import admin

    from .models import Question


    class QuestionAdmin(admin.ModelAdmin):
        fieldsets = [
            (None,               {'fields': ['question_text']}),
            ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
        ]

    admin.site.register(Question, QuestionAdmin)



    ====> Adding related objects
    $ edit pollsadmin.py

    from django.contrib import admin

    from .models import Choice, Question
    # ...
    admin.site.register(Choice)


    ====> Remove the register() call for the Choice model. Then, change the Question registration code
    $ edit pollsadmin.py

    from django.contrib import admin

    from .models import Choice, Question


    class ChoiceInline(admin.StackedInline):
        model = Choice
        extra = 3


    class 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 pollsadmin.py

    class ChoiceInline(admin.TabularInline):
        #...



    ====> Customize the admin change list -- use the list_display admin option
    $ edit pollsadmin.py

    class QuestionAdmin(admin.ModelAdmin):
        # ...
        list_display = ('question_text', 'pub_date', 'was_published_recently')



    ====> Add a “Filter” sidebar -- using the list_filter admin option
    $ edit pollsadmin.py

    class QuestionAdmin(admin.ModelAdmin):
        # ...
        list_filter = ['pub_date']


    ====> Add some search capability
    $ edit pollsadmin.py

    class QuestionAdmin(admin.ModelAdmin):
        # ...
        search_fields = ['question_text']





    ====> Customize the admin look and feel

    ====> Customizing your project’s templates
    $ mkdir templates
    $ edit mysitesettings.py
    TEMPLATES = [
        {
            # ...
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            # ...
        },
    ]
    $ mkdir templatesadmin
    $ copy C:python34libsite-p~1djangocontribadmin emplatesamdinase_site.html templatesadminase_site.html
    $ edit tempaltesadminase_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


  • 相关阅读:
    IDEA插件和快捷设置
    漫谈虚拟内存
    漫谈进程和线程
    漫谈计算机语言
    初识Python
    数据库物理设计
    漫谈计算机体系
    数据库逻辑设计
    NLP中几种分词库的简单使用(Python)
    ML————朴素贝叶斯原理和SKlearn相关库
  • 原文地址:https://www.cnblogs.com/hhh5460/p/4460422.html
Copyright © 2011-2022 走看看