您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程70:Django管理員工具

Python基礎入門教程70:Django管理員工具

來源:奇酷教育 發表于:

Django 的最大賣點之一是其一流的管理界面。這個工具是按照最終用戶的思路設計的。它為我們的項目提供了很多數據輸入工具。管理工具是 Dj

Django 的最大賣點之一是其一流的管理界面。這個工具是按照最終用戶的思路設計的。它為我們的項目提供了很多數據輸入工具。

管理工具是 Django 提供的一個應用程序。與 jobs 應用程序一樣,在使用之前也必須進行安裝。第一個步驟是將應用程序的模塊(django.contrib.admin)添加到 INSTALLED_APPS 設置中:

清單 16. 修改 settings.py
1
2
3
4
5
6
7
8
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'djproject.jobs',
    'django.contrib.admin',
)

要讓該管理工具可以通過 /admin URL 使用,只需要簡單地取消項目的 urls.py 文件中提供的對應行的內容即可。下一節將詳細介紹 URL 的配置。

清單 17. 使管理工具可以通過 urls.py 使用
1
2
3
4
5
from django.conf.urls.defaults import *
 
urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls.admin')),
)

這個管理應用程序有自己的數據庫模型,但也需要進行安裝。我們可以再次使用 syncdb 命令來完成這個過程:

python manage.py syncdb

要查看這個管理工具,可以使用 Django 提供的測試服務器。

清單 18. 使用測試服務器來查看管理工具
1
2
3
4
5
6
7
~/dev/djproject$ python manage.py runserver
Validating models...
0 errors found.
 
Django version 0.95 (post-magic-removal), using settings 'djproject.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).

現在可以使用 http://localhost:8000/admin 啟動管理工具,并使用前面創建的超級用戶帳號進行登錄。我們注意到現在還沒有可用的模塊。

要讓一個類可以通過管理工具進行訪問,我們需要為其創建一個 Admin 子類。然后可以通過為這個子類添加類屬性來定制如何對每個類進行管理。清單 19 展示了如何將 Location 類添加到這個管理工具中。

清單 19. 使用管理工具添加 Location 類
1
2
3
4
class Location(meta.Model):
    ...
    class Admin:
        list_display = ("city", "state", "country")

現在就可以通過管理界面來創建、更新和刪除 Location 記錄了。

圖 1. 使用管理工具編輯位置
使用管理工具編輯位置

可以按照 list_display 類的屬性指定的城市、州和國家來列出記錄并對它們進行排序。

圖 2. 使用管理工具顯示位置
使用管理工具顯示位置

管理工具有無數用來管理每種模塊類的選項。清單 20 給出了幾個適用于 Job 類的例子:

清單 20. 管理模塊類的選項
1
2
3
4
5
6
7
class Job(meta.Model):
    ...
    class Admin:
    list_display = ("job_title", "location", "pub_date")
    ordering = ["-pub_date"]
    search_fields = ("job_title", "job_description")
    list_filter = ("location",)

根據以上設置,職位的標題、位置和發布日期都會在顯示職位記錄時用到。職位可以按照發布時間進行排序,最開始是最近發布的職位(減號表示降序)。用戶可以按照標題和說明來查找職位,管理員可以根據位置對記錄進行過濾。

圖 3. 使用管理工具顯示職位
使用管理工具顯示職位
主站蜘蛛池模板: 一本色道久久88加勒比—综合| 色久悠悠婷婷综合在线亚洲| 色综合AV综合无码综合网站 | 欧美综合图区亚洲综合图区| 久久久久综合网久久| 国产人成精品综合欧美成人| 亚洲Av综合色区无码专区桃色| 一本一道色欲综合网中文字幕| 俺来也俺去啦久久综合网| 亚洲国产成人久久综合一区77| 亚洲国产综合无码一区二区二三区 | 久久香综合精品久久伊人| 综合欧美视频一区二区三区| 激情伊人五月天久久综合| 亚洲综合自拍成人| 欧美日韩国产综合视频一区二区三区| 国产成人亚洲综合一区| 国产精品亚洲综合久久| 欧美日韩国产综合视频一区二区二 | 狠狠色狠狠色综合久久| 国产亚洲综合久久系列| 欧美αv日韩αv另类综合 | 久久综合噜噜激激的五月天| 在线综合+亚洲+欧美中文字幕| 色综合久久久久综合体桃花网| 欲香欲色天天综合和网| 亚洲综合久久夜AV | 色五月丁香六月欧美综合| 狠狠综合久久AV一区二区三区| 亚洲国产婷婷综合在线精品| 色婷婷色综合激情国产日韩| 国产综合精品蜜芽| 亚洲综合在线另类色区奇米| 亚洲国产成人久久综合区| 欧美精品国产综合久久| 亚洲综合色视频在线观看| 色综合天天综合| 亚洲国产天堂久久综合| 狠狠色狠狠色综合网| 日本道色综合久久影院| 国产精品综合久成人|