蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Python全棧+人工智能入門(mén)教材 > Python基礎(chǔ)入門(mén)教程70:Django管理員工具

Python基礎(chǔ)入門(mén)教程70:Django管理員工具

來(lái)源:奇酷教育 發(fā)表于:

Django 的最大賣(mài)點(diǎn)之一是其一流的管理界面。這個(gè)工具是按照最終用戶(hù)的思路設(shè)計(jì)的。它為我們的項(xiàng)目提供了很多數(shù)據(jù)輸入工具。管理工具是 Dj

Django 的最大賣(mài)點(diǎn)之一是其一流的管理界面。這個(gè)工具是按照最終用戶(hù)的思路設(shè)計(jì)的。它為我們的項(xiàng)目提供了很多數(shù)據(jù)輸入工具。

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

清單 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',
)

要讓該管理工具可以通過(guò) /admin URL 使用,只需要簡(jiǎn)單地取消項(xiàng)目的 urls.py 文件中提供的對(duì)應(yīng)行的內(nèi)容即可。下一節(jié)將詳細(xì)介紹 URL 的配置。

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

這個(gè)管理應(yīng)用程序有自己的數(shù)據(jù)庫(kù)模型,但也需要進(jìn)行安裝。我們可以再次使用 syncdb 命令來(lái)完成這個(gè)過(guò)程:

python manage.py syncdb

要查看這個(gè)管理工具,可以使用 Django 提供的測(cè)試服務(wù)器。

清單 18. 使用測(cè)試服務(wù)器來(lái)查看管理工具
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).

現(xiàn)在可以使用 http://localhost:8000/admin 啟動(dòng)管理工具,并使用前面創(chuàng)建的超級(jí)用戶(hù)帳號(hào)進(jìn)行登錄。我們注意到現(xiàn)在還沒(méi)有可用的模塊。

要讓一個(gè)類(lèi)可以通過(guò)管理工具進(jìn)行訪問(wèn),我們需要為其創(chuàng)建一個(gè) Admin 子類(lèi)。然后可以通過(guò)為這個(gè)子類(lèi)添加類(lèi)屬性來(lái)定制如何對(duì)每個(gè)類(lèi)進(jìn)行管理。清單 19 展示了如何將 Location 類(lèi)添加到這個(gè)管理工具中。

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

現(xiàn)在就可以通過(guò)管理界面來(lái)創(chuàng)建、更新和刪除 Location 記錄了。

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

可以按照 list_display 類(lèi)的屬性指定的城市、州和國(guó)家來(lái)列出記錄并對(duì)它們進(jìn)行排序。

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

管理工具有無(wú)數(shù)用來(lái)管理每種模塊類(lèi)的選項(xiàng)。清單 20 給出了幾個(gè)適用于 Job 類(lèi)的例子:

清單 20. 管理模塊類(lèi)的選項(xiàng)
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",)

根據(jù)以上設(shè)置,職位的標(biāo)題、位置和發(fā)布日期都會(huì)在顯示職位記錄時(shí)用到。職位可以按照發(fā)布時(shí)間進(jìn)行排序,最開(kāi)始是最近發(fā)布的職位(減號(hào)表示降序)。用戶(hù)可以按照標(biāo)題和說(shuō)明來(lái)查找職位,管理員可以根據(jù)位置對(duì)記錄進(jìn)行過(guò)濾。

圖 3. 使用管理工具顯示職位
使用管理工具顯示職位
诸城市| 三都| 白山市| 江山市| 璧山县| 桐梓县| 和田县| 津市市| 乌苏市| 肇州县| 杭锦旗| 名山县| 镶黄旗| 清河县| 磐石市| 凤台县| 上蔡县| 台东市| 安顺市| 舟山市| 理塘县| 华亭县| 石林| 和平县| 西城区| 建昌县| 昌平区| 平果县| 巢湖市| 遂溪县| 曲麻莱县| 怀远县| 翁牛特旗| 阜康市| 新乡县| 呼和浩特市| 宁阳县| 黄石市| 河源市| 铜山县| 富蕴县|