日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2、django管理网站

發布時間:2024/4/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2、django管理网站 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該系列的博客都是按照這個教程上面的內容整理總結出來的,主要是為了方便自己復習和鞏固的。http://www.kancloud.cn/wizardforcel/django-chinese-docs-18/98847。該教程確實不錯。

1、啟動上面章節的項目:

python manage.py runserver

現在,打開一個瀏覽器并在本地域名上訪問 “/admin/” – 例如?http://127.0.0.1:8000/admin/?。你將看到管理員的登錄界面:  

?

現在嘗試登錄進去, 你將看到 Djaong 的管理索引頁:

?

2、使 poll 應用的數據在管理網站中可編輯

  只需要做一件事:我們需要告訴管理網站 Poll 對象要有一個管理界面。為此,我們在你的 polls 目錄下創建一個名為 admin.py 的文件,并添加如下內容:

from django.contrib import admin from polls.models import Poll admin.site.register(Poll)

通過 admin.site.register(Poll) 注冊了 Poll 模型,Django 就能構造一個默認的 表單。通常情況下,你將要自定義管理表單的外觀和功能。這樣的話你就需要在注冊對象 時告訴 Django 對應的配置。讓我們來看看如何在編輯表單上給字段重新排序。修改admin.py文件將 admin.site.register(Poll) 這行替換成:

class PollAdmin(admin.ModelAdmin):fields = ['pub_date', 'question']admin.site.register(Poll, PollAdmin)

你將遵循這個模式 – 創建一個模型的管理對象,將它作為 admin.site.register() 方法的第二個參數傳入 – 當你需要為一個對象做管理界面配置的時候。

3.剛才所說的有許多字段的表單,你可能想將表單中的字段分割成 fieldsets :

class PollAdmin(admin.ModelAdmin):fieldsets = [(None, {'fields': ['question']}),('Date information', {'fields': ['pub_date']}),]admin.site.register(Poll, PollAdmin)

4.添加關聯對象?

現在我們有了 Poll 的管理頁面。但是一個 Poll 擁有多個 Choices ,而 該管理頁面并沒有顯示對應的 choices 。

是的。

我們有兩種方法來解決這個問題。第一種就像剛才 Poll 那樣在管理網站上 注冊 Choice 。這很簡單:

from polls.models import Choiceadmin.site.register(Choice)

  

具體的操作,可以自己去用鼠標點擊看看。

第二種方法:移除對 Choice 模型的 register() 方法調用 。然后,將 Poll 的注冊代碼 編輯為如下所示:

from django.contrib import admin from polls.models import Choice, Pollclass ChoiceInline(admin.StackedInline):model = Choiceextra = 3class PollAdmin(admin.ModelAdmin):fieldsets = [(None, {'fields': ['question']}),('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),]inlines = [ChoiceInline]admin.site.register(Poll, PollAdmin)

這將告訴 Django: “Choice 對象在 Poll 管理頁面中被編輯。 默認情況下,提供 3 個 choices 的字段空間。

還有個小問題。為了顯示所有關聯 Choice 對象的字段需要占用大量的 屏幕空間。為此,Django 提供了一個以表格方式顯示內嵌有關聯對象的方式; 你只需要將 ChoiceInline 聲明改為如下所示:

class ChoiceInline(admin.TabularInline):#...

5.自定義管理界面的變更列表。

現在 Poll 的管理界面看起來不錯了,讓我們給 “chang list” 頁面做些調整 – 顯示系統中所有 polls 的頁面。下面是現在的樣子:

默認情況下, Django 顯示的是每個對象 str() 或者__unicode__(self)的結果。但是若是我們能夠 顯示每個字段的話有時會更有幫助的。要做到這一點,需要使用 list_display 管理選項,這是一個 tuple ,包含了要顯示的字段名, 將會以列的形式在該對象的 chang lsit 頁上列出來:

class PollAdmin(admin.ModelAdmin):# ...list_display = ('question', 'pub_date')

現在 poll 的變更列表頁看起來像這樣:

?效果類似于下面這樣的:

?

轉載于:https://www.cnblogs.com/wyl9527/p/6653196.html

總結

以上是生活随笔為你收集整理的2、django管理网站的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。