<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Natural

     

    Django官方文檔學(xué)習(xí)筆記:Tutorial: Part 2

        本章主要是介紹如何利用django的admin site功能,根據(jù)定義的models,自動(dòng)生成可以CRUD的表單頁(yè)面。
        一、自動(dòng)生成admin界面
        1、激活admin site功能   
        修改"mysite/settings.py"文件,在INSTALLED_APPS屬性去掉'django.contrib.admin'注釋。
        修改"mysite/urls.py"文件,去掉如下三行的注釋?zhuān)?br />
    from django.contrib import admin
    admin.autodiscover()

    url(r
    '^admin/', include(admin.site.urls)),
        執(zhí)行“python manage.py syncdb”命令將該模塊映射到數(shù)據(jù)庫(kù)即可。

        2、啟動(dòng)開(kāi)發(fā)服務(wù)器   
        運(yùn)行“python manage.py runserver”啟動(dòng)server(默認(rèn)8000端口,端口有沖突重新制定,上篇提到過(guò)的)。
        啟動(dòng)成功后,即可以瀏覽器打開(kāi)“http://127.0.0.1:8000/admin”,用之前創(chuàng)建的super user賬戶(hù)登錄了。
        默認(rèn)還看不到polls,需要把它注冊(cè)到admin中。
        在“mysite/polls”目錄下創(chuàng)建admin.py文件,內(nèi)容如下:
    from django.contrib import admin
    from polls.models import Poll

    admin.site.register(Poll)
        重啟服務(wù)器登錄,就可以看到根據(jù)Poll模板自動(dòng)生成的CRUD表單了。

        3、自定義admin表單
        多個(gè)屬性時(shí),如何控制各屬性顯示時(shí)的先后關(guān)系?
        通過(guò)修改admin.py,來(lái)定義表單顯示的格式.

    from django.contrib import admin
    from polls.models import Poll, Choice

    class ChoiceInline(admin.TabularInline): #    admin.StackedInline
        model = Choice
        extra 
    = 3
        
    class PollAdmin(admin.ModelAdmin):
    #    fields = ['pub_date', 'question']

        fieldsets 
    = [
                (None,                          {
    'fields': ['question']}),
                (
    'Date information',    {'fields': ['pub_date'],    'classes': ['collapse']}),
        ]
        inlines 
    = [ChoiceInline]
        list_display 
    = ('question''pub_date''was_published_recently')
        list_filter 
    = ['pub_date']
        search_fields 
    = ['question']
        date_hierarchy 
    = 'pub_date'

    admin.site.register(Poll, PollAdmin)
    admin.site.register(Choice)
        屬性比較少時(shí),直接通過(guò)"fields = ['pub_date', 'question']"來(lái)確定先后順序即可.
        而屬性比較多時(shí),則可通過(guò)設(shè)置fieldsets來(lái)制定顯示效果.
        效果如下圖:

        Poll表單:
        'Date information'            新表單標(biāo)題;
        'collapse'                         django自帶的隱藏樣式;
        “inlines = [ChoiceInline]”   將Choice表單顯示在Poll中;
        admin.StackedInline         Choice屬性垂直顯示;
        admin.TabularInline          Choice屬性水平顯示;
       
        Poll list記錄:
        修改"mysite/polls/models.py"文件,設(shè)置相關(guān)屬性的顯示樣式。
    class Poll(models.Model):
        question 
    = models.CharField(max_length=200)
        pub_date 
    = models.DateTimeField('date published')
        
        
    def __unicode__(self):
            
    return self.question
        
    def was_published_recently(self):
            
    return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
        was_published_recently.admin_order_field 
    = 'pub_date'
        was_published_recently.boolean 
    = True
        was_published_recently.short_description 
    = 'Published recently?'

        list_display = ('question''pub_date''was_published_recently')  指定poll list記錄頁(yè)面顯示那些字段
        list_filter 
    = ['pub_date']    右側(cè)的過(guò)濾器;django自帶日期選項(xiàng)
        search_fields 
    = ['question']    上端搜索框;制定搜索的屬性范圍,like匹配
        date_hierarchy 
    = 'pub_date'   日期分層導(dǎo)航;根據(jù)記錄日期年月日自動(dòng)分類(lèi)

        二、自定義admin外觀
        創(chuàng)建“mysite/templates”目錄,修改"mysite/settings.py"文件,在TEMPLATE_DIRS屬性中配置該目錄位置。
        進(jìn)入django安裝目錄(...\Python27\Lib\site-packages\django\contrib\admin\templates),把你需要修改的文件,拷貝到項(xiàng)目“mysite/templates”目錄下,修改成你需要的效果,服務(wù)器啟動(dòng)時(shí)會(huì)自動(dòng)從此處加載。
       

    posted on 2013-05-10 15:35 此號(hào)已被刪 閱讀(947) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Python

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(8)

    隨筆分類(lèi)(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊(cè)

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 一道本不卡免费视频| 亚洲日韩中文字幕日韩在线 | 日本媚薬痉挛在线观看免费| 亚洲第一页在线播放| 免费无码中文字幕A级毛片| 亚洲AV无码一区二区二三区软件| 四虎精品成人免费视频| 又色又污又黄无遮挡的免费视| 亚洲国产AV无码一区二区三区| 免费看少妇作爱视频| 亚洲中文精品久久久久久不卡| 日韩精品成人无码专区免费| 亚洲一级毛片在线播放| 97无码免费人妻超级碰碰夜夜| 粉色视频免费入口| 亚洲日本韩国在线| 99久久免费精品高清特色大片| 看一级毛片免费观看视频| 亚洲无删减国产精品一区| 亚洲免费观看在线视频| 亚洲伊人久久大香线蕉影院| 大学生美女毛片免费视频| WWW国产亚洲精品久久麻豆| 亚洲AⅤ优女AV综合久久久| 日本激情猛烈在线看免费观看| 亚洲性久久久影院| 国产免费久久精品99re丫y| 亚洲AV永久无码精品放毛片| 亚洲精品成人网久久久久久| 免费无码H肉动漫在线观看麻豆| 亚洲免费精彩视频在线观看| 亚洲国产av无码精品| 四虎影视在线影院在线观看免费视频 | 免费成人黄色大片| 久久永久免费人妻精品| 78成人精品电影在线播放日韩精品电影一区亚洲 | 国产免费人成在线视频| 中文字幕免费观看全部电影| 久久亚洲精品成人无码网站| 国产综合精品久久亚洲| 4455永久在线观免费看|