欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

100django_admin-創(chuàng)新互聯(lián)

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)千山,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

admin

requirement:

django強(qiáng)大的功能之一,提供了admin后臺(tái)管理界面,簡(jiǎn)單配置就可對(duì)數(shù)據(jù)庫(kù)內(nèi)容作管理;

mysite/mysite/settings.py

INSTALLED_APPS = [

# 'users.apps.UsersConfig',

'blog.apps.BlogConfig',

'publish.apps.PublishConfig',

'bootstrap3',

'books.apps.BooksConfig',

'polls.apps.PollsConfig',

'django.contrib.admin',

'django.contrib.auth',?? #依賴(lài)1

'django.contrib.contenttypes',?? #依賴(lài)2

'django.contrib.sessions',?? #依賴(lài)3

'django.contrib.messages',?? #依賴(lài)4

'django.contrib.staticfiles',

]

TEMPLATES = [

{

'BACKEND': 'django.template.backends.django.DjangoTemplates',

# 'BACKEND': 'django.template.backends.jinja2.Jinja2',

'DIRS': [os.path.join(BASE_DIR, 'templates')],

'APP_DIRS': True,

'OPTIONS': {

'context_processors': [

'django.template.context_processors.debug',

'django.template.context_processors.request',

'django.contrib.auth.context_processors.auth',

'django.contrib.messages.context_processors.messages',

],

},

},

]

MIDDLEWARE = [

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

]

mysite/mysite/urls.py

urlpatterns = [

# url(r'^$', index),

# url(r'^hello/$', hello),

# url(r'^polls/', include('polls.urls')),

# url(r'^polls/', include('polls.urls', app_name='polls')),

# url(r'^polls/', include('polls.urls', namespace='polls')),

# url(r'^books/', include('books.urls')),

# url(r'^sendmail/', include('sendmail.urls')),

# url(r'publish/', include('publish.urls')),

url(r'blog/', include('blog.urls')),

url(r'^admin/', admin.site.urls),

]

以上是前4步;

5、${app_dir}/admin.py,給每個(gè)模型創(chuàng)建一個(gè)ModelAdmin類(lèi),封裝模型自定義的Admin功能和選項(xiàng);

6、注冊(cè)ModelAdmin;

到此,可通過(guò)綁定的url來(lái)訪問(wèn)管理站點(diǎn),默認(rèn)是/admin/;

注:

默認(rèn),is_superuser和is_staff雙重身份才能在admin中進(jìn)行管理和修改;

當(dāng)只有is_staff,能進(jìn)入后臺(tái)但不能進(jìn)行任何操作;

當(dāng)只有is_superuser,不能進(jìn)入admin;

>>> from django.contrib.auth.models import User

>>> User.objects.all()

<QuerySet []>

>>> u = User.objects.create_user(username='jowin',email='jowin@ane56.com')

>>> u.set_password('jowin')

>>> u.save()

>>> u

<User: jowin>

>>> u.is_superuser

False

>>> u.is_superuser=True

>>> u.is_staff

False

>>> u.is_staff=True

>>> u.save()

>>> u.is_active

True

>>> quit()

配置ModelAdmin:

django默認(rèn)會(huì)到${app_name}下找admin.py模塊;

自動(dòng)根據(jù)model的field類(lèi)型設(shè)置form類(lèi)型;

label名稱(chēng),定義model field時(shí)指定verbose_name;

exclude,排除某字段,不展示;

fields,顯示某字段;

date_hierarchy,添加日期標(biāo)簽過(guò)濾;

ordering,排序;

search_fields,搜索某列;

list_display,列表顯示更多列;

list_filter;

100django_admin

mysite/blog/admin.py

from django.contrib import admin

from .models import Blog, Author, Entry

# admin.site.register(Blog)?? #方式1

# admin.site.register(Author)

# admin.site.register(Entry)

@admin.register(Blog)?? #方式2

class BlogAdmin(admin.ModelAdmin):

pass

@admin.register(Entry)

class EntryAdmin(admin.ModelAdmin):

pass

@admin.register(Author)

class AuthorAdmin(admin.ModelAdmin):

pass

100django_admin

def authors_display(obj):

return ', '.join([ author.name for author in obj.authors.all()])

authors_display.short_description = 'Authors'

def make_pub_date_to_now(modeladmin, request, queryset):

queryset.update(pub_date=timezone.now())

make_pub_date_to_now.short_description = '批量修改發(fā)布日期為今天'

@admin.register(Entry)

class EntryAdmin(admin.ModelAdmin):

exclude = ('n_comments', 'n_pingbacks')

date_hierarchy = 'pub_date'

search_fields = ('headline', 'body_text')

list_display = ('headline', 'blog', 'pub_date', authors_display)

actions = [make_pub_date_to_now]

100django_admin

注:

web頁(yè)上label(form label),對(duì)應(yīng)models.py中的verbose_name;

100django_admin

100django_admin

注:

與代碼中authors_display.short_description = 'Authors'對(duì)應(yīng);

100django_admin

注:

Actions與代碼中actions = [make_pub_date_to_now]對(duì)應(yīng);

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱(chēng):100django_admin-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://aaarwkj.com/article44/codshe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站軟件開(kāi)發(fā)、品牌網(wǎng)站制作、定制開(kāi)發(fā)、商城網(wǎng)站、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
中文字幕日韩精品国产| 日韩中文字幕久久中文字幕| 超碰香蕉在线在线观看| 日韩精品一区二区三区人妻视频| 亚洲精品a在线观看av| 日本一区二区不卡高清| 长腿丝袜美女亚洲一区二区| 亚洲av成人精品网站推荐| 粉嫩在线一区二区懂色| 国产传媒在线观看精品| 日韩高清伦理一区二区| 欧美亚洲中文字幕高清| 风韵丰满熟妇老熟女啪啪| 国产黄色免费精品网站| 色偷偷亚洲精品一区二区| 亚洲综合五月天色婷婷| 国产一区av剧情巨作| 国产精品久久午夜伦鲁鲁| 最新日韩欧美不卡一二三区| 大胸妇女引诱老师在线观看| 后入视频国产在线观看| 国产亚洲精品精品国产亚洲| 国产中文字幕一区久久| 日韩精品在线中文字幕| 久久精品国产亚洲七七| 中文字幕在线成人影院| 国产熟女乱免费一区二区| 国产精品一区二区黑人巨大| 久久亚洲一区二区麻豆偷| 99国产综合精品女| 高清国产国产精品三级国产av| 国产在线播放精品视频| 国产黄色三级电影在线| 日本爱爱一区二区三区| 亚洲一区欧美二区日韩三区| 精品国产美女主播在线| 欧美国产日本日韩在线黄| 欧美一区二区专区在线| 精品国产一区二区三区四不卡在线| 亚洲中文字幕精品一区二区三区| 国内在线免费观看av|