<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 服務器 * 運行如下命令可以開啟服務器 ~~~ python manage.py runserver ip:port ~~~ * 可以不寫ip,默認端口為8000 * 這是一個純python編寫的輕量級web服務器,僅在開發階段使用 * 服務器成功啟動后,提示如下信息 ![](https://box.kancloud.cn/9d9c86e5afa3ab4526ef05615e62a7cd_564x153.png) * 默認端口是8000,可以修改端口 ~~~ python manage.py runserver 8080 ~~~ * 打開瀏覽器,輸入網址“127.0.0.1:8000”可以打開默認頁面 * 如果修改文件不需要重啟服務器,如果增刪文件需要重啟服務器 * 通過ctrl+c停止服務器 * * * * * ### 管理操作 * 站點分為“內容發布”和“公共訪問”兩部分 * “內容發布”的部分負責添加、修改、刪除內容,開發這些重復的功能是一件單調乏味、缺乏創造力的工作。為此,Django會根據定義的模型類完全自動地生成管理模塊 #### 使用django的管理 * 創建一個管理員用戶 ~~~ python manage.py createsuperuser,按提示輸入用戶名、郵箱、密碼 ~~~ * 啟動服務器,通過“127.0.0.1:8000/admin”訪問,輸入上面創建的用戶名、密碼完成登錄 * 進入管理站點,默認可以對groups、users進行管理 #### 管理界面本地化 * 編輯settings.py文件,設置編碼、時區 ~~~ LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai' ~~~ #### 向admin注冊booktest的模型 * 打開booktest/admin.py文件,注冊模型 ~~~ from django.contrib import admin from models import BookInfo admin.site.register(BookInfo) ~~~ * 刷新管理頁面,可以對BookInfo的數據進行增刪改查操作 >[warning] 問題:如果在str方法中返回中文,在修改和添加時會報ascii的錯誤 >[success] 解決:在str()方法中,將字符串末尾添加“.encode('utf-8')” #### 自定義管理頁面 * Django提供了admin.ModelAdmin類 * 通過定義ModelAdmin的子類,來定義模型在Admin界面的顯示方式 ~~~ class QuestionAdmin(admin.ModelAdmin): ... admin.site.register(Question, QuestionAdmin) ~~~ **列表頁屬性** * list_display:顯示字段,可以點擊列頭進行排序 ~~~ list_display = ['pk', 'btitle', 'bpub_date'] ~~~ * list_filter:過濾字段,過濾框會出現在右側 ~~~ list_filter = ['btitle'] ~~~ * search_fields:搜索字段,搜索框會出現在上側 ~~~ search_fields = ['btitle'] ~~~ * list_per_page:分頁,分頁框會出現在下側 ~~~ list_per_page = 10 ~~~ **添加、修改頁屬性** * fields:屬性的先后順序 ~~~ fields = ['bpub_date', 'btitle'] ~~~ * fieldsets:屬性分組 ~~~ fieldsets = [ ('basic',{'fields': ['btitle']}), ('more', {'fields': ['bpub_date']}), ] ~~~ #### 關聯對象 * 對于HeroInfo模型類,有兩種注冊方式 * 方式一:與BookInfo模型類相同 * 方式二:關聯注冊 * 按照BookInfor的注冊方式完成HeroInfo的注冊 * 接下來實現關聯注冊 ~~~ from django.contrib import admin from models import BookInfo,HeroInfo class HeroInfoInline(admin.StackedInline): model = HeroInfo extra = 2 class BookInfoAdmin(admin.ModelAdmin): inlines = [HeroInfoInline] admin.site.register(BookInfo, BookInfoAdmin) ~~~ 可以將內嵌的方式改為表格 ~~~ class HeroInfoInline(admin.TabularInline) ~~~ #### 布爾值的顯示 * 發布性別的顯示不是一個直觀的結果,可以使用方法進行封裝 ~~~ def gender(self): if self.hgender: return '男' else: return '女' gender.short_description = '性別' ~~~ * 在admin注冊中使用gender代替hgender ~~~ class HeroInfoAdmin(admin.ModelAdmin): list_display = ['id', 'hname', 'gender', 'hcontent'] ~~~ ~~~ # admin.py #!usr/bin/python # -*- coding: utf-8 -*- from django.contrib import admin from models import * # 關聯類的添加 # class HeroInfoInline(admin.StackedInline): # model = HeroInfo # extra = 3 # 添加一個圖書時候,添加3個英雄信息 class HeroInfoInline(admin.TabularInline): # 變成表格形式添加 model = HeroInfo extra = 3 # 添加一個圖書時候,添加3個英雄信息 class BookInfoAdmin(admin.ModelAdmin): list_display = ['id', 'btitle', 'bpub_date'] list_filter = ['btitle'] # 出現在右側,過濾 search_fields = ['btitle'] # 搜索 支持模糊查詢 list_per_page = 10 # 分頁 fieldsets = [ ('base', {'fields': ['btitle']}), ('super', {'fields': ['bpub_date']}) ] inlines = [HeroInfoInline] admin.site.register(BookInfo, BookInfoAdmin) # 注冊信息 admin.site.register(HeroInfo) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看