Django站點管理python
十一轉眼結束,說好的充電沒能順利開展,反而清閒的看了電視劇以及去影院看了新上映的《心花路放》、《親愛的》以及《黃金時代》,說好的勞逸結合如今回首看去,若是睡覺吃飯算是的話,那卻是挺多。是啊,十一過去了,也該收收心,開始準備過年了。啊,不對,準備工做。扯淡到此結束,接下來,開始學習Django的站點管理。數據庫
管理界面有一問題: 建立它太繁瑣。 當你開發對公衆的功能時,網頁開發是有趣的,可是建立管理界面一般是千篇一概的。 你必須認證用戶,顯示並管理表格,驗證輸入的有效性諸如此類。 這很繁瑣並且是重複勞動。Django 在對這些繁瑣和重複的工做進行了哪些改進? 它用不能再少的代碼爲你作了全部的一切。 Django 中建立管理界面已經不是問題。本次博客是關於 Django 的自動管理界面。 這個特性是這樣起做用的: 它讀取你模式中的元數據,而後提供給你一個強大並且可使用的界面,網站管理者能夠用它當即工做。django
django.contrib 包瀏覽器
Django自動管理工具是django.contrib的一部分。django.contrib是一套龐大的功能集,它是Django基本代碼的組成部分,Django框架就是由衆多包含附加組件(add-on)的基本代碼構成的。 你能夠把django.contrib看做是可選的Python標準庫或廣泛模式的實際實現。 它們與Django捆綁在一塊兒,這樣你在開發中就不用「重複發明輪子」了。服務器
管理工具是django.contrib的一個部分。從技術層面上講,它被稱做django.contrib.admin。django.contrib中其它可用的特性,如用戶鑑別系統(django.contrib.auth)、支持匿名會話(django.contrib.sessioins)以及用戶評註系統(django.contrib.comments)。在成爲一個Django專家之前,你將會知道更多django.contrib的特性。 目前,你只須要知道Django自帶不少優秀的附加組件,它們都存在於django.contrib包裏。session
激活管理界面框架
第一步,對你的settings文件作以下這些改變:工具
第二步,運行 python manage.py syncdb 。這一步將生成管理界面使用的額外數據庫表。 當你把'django.contrib.auth'加進INSTALLED_APPS後,第一次運行syncdb命令時, 系統會請你建立一個超級用戶。 若是你不這麼做,你須要運行python manage.py createsuperuser來另外建立一個admin的用戶賬號,不然你將不能登入admin (提醒一句: 只有當INSTALLED_APPS包含'django.contrib.auth'時,python manage.py createsuperuser這個命令纔可用.)學習
第三,將admin訪問配置在URLconf(記住,在urls.py中). 默認狀況下,命令django-admin.py startproject生成的文件urls.py是將Django admin的路徑註釋掉的,你所要作的就是取消註釋。 請注意,如下內容是必須確保存在的:網站
1 # Include these import statements... 2 from django.contrib import admin 3 admin.autodiscover() 4 5 # And include this URLpattern... 6 urlpatterns = patterns('', 7 # ... 8 (r'^admin/', include(admin.site.urls)), 9 # ... 10 )
當這一切都配置好後,如今你將發現Django管理工具能夠運行了。 啓動開發服務器(如前:`` python manage.py runserver`` ),而後在瀏覽器中訪問:http://127.0.0.1:8000/admin/。
管理界面介紹
管理界面的設計是針對非技術人員的,因此它應該是自我解釋的。 儘管如此,這裏簡單介紹一下它的基本特性。
你看到的第一件事是以下圖所示的登陸界面。
你要使用你原來設置的超級用戶的用戶名和密碼。 若是沒法登陸,請運行「 python manage.py createsuperuser」 ,確保你已經建立了一個超級用戶。
一旦登陸了,你將看到管理頁面。 這個頁面列出了管理工具中可編輯的全部數據類型。 如今,因爲咱們尚未建立任何模塊,因此這個列表只有寥寥數條類目: 它僅有兩個默認的管理-編輯模塊:用戶組(Groups)和用戶(Users)。
其餘語言:
想一秒鐘改變語言的類型麼,Django徹底能夠很輕鬆的作到,打開settings.py文件,找到下面部分:
1 LANGUAGE_CODE = 'en-us' 2 #LANGUAGE_CODE = 'de-ch' 3 #LANGUAGE_CODE = 'de-at' 4 #LANGUAGE_CODE = 'pt-br' 5 #LANGUAGE_CODE = 'zh-cn'
將第一行改成第五行,刷新下界面,你便發現你的管理站點已經變成了全中文版。
將你的Models加入到Admin管理中
讓咱們將本身的模塊加入管理工具中,這樣咱們就可以經過這個漂亮的界面添加、修改和刪除數據庫中的對象了。 咱們將繼續上次的「 book」 例子。在其中,咱們定義了三個模塊:Publisher 、 Author 和 Book 。
打開「books」 目錄下(「mysite/books」)的文件:「admin.py」 ,而後輸入如下代碼:
1 from django.contrib import admin 2 from books.models import Publisher, Author, Book 3 4 admin.site.register(Publisher) 5 admin.site.register(Author) 6 admin.site.register(Book)
完成後,打開頁面 「http://127.0.0.1:8000/admin/」 ,你會看到一個Books區域,其中包含Authors、Books和Publishers。
如今你擁有一個功能完整的管理界面來管理這三個模塊了。 很簡單吧!